@epcc-sdk/sdks-shopper 0.0.39 → 0.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/client/types.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\n/**\n * The three-letter ISO code for the currency associated with this price.\n */\nexport type Amount = {\n /**\n * The price in the lowest denomination for the specified currency. This is a product's list price.\n */\n amount?: BigInt\n /**\n * Whether this price includes tax.\n */\n includes_tax?: boolean\n}\n\n/**\n * If you want multiple price books for different scenarios, such as seasonal sales, business versus retail pricing, and reward programs, when creating a catalog, you can specify up to five price books. You must configure a priority for your price books. Product prices are displayed in the catalog according to the priority of the price books.\n */\nexport type PrioritizedPricebooks = Array<{\n /**\n * A unique identifier of a price book.\n */\n id: string\n /**\n * Priority is a number and the price book with the highest number has the highest priority.\n */\n priority: number\n}>\n\n/**\n * The owner of this resource, can be either `organization` or `store`.\n */\nexport type Owner = \"store\" | \"organization\"\n\n/**\n * Creates a catalog with the following attributes.\n */\nexport type Catalog = {\n /**\n * A unique identifier of a catalog.\n */\n id: string\n attributes: {\n /**\n * The name of a catalog.\n */\n name: string\n /**\n * A brief description of the catalog, such as the purpose of the catalog.\n */\n description?: string\n /**\n * The unique identifiers of the hierarchies associated with a catalog.\n */\n hierarchy_ids: Array<string>\n /**\n * The unique identifier of a price book associated with a catalog. If no price book is selected, the catalog is displayed without prices.\n */\n pricebook_id?: string\n pricebook_ids?: PrioritizedPricebooks\n /**\n * Product Experience Manager supports localization of products and hierarchies. If you store supports multiple languages, you can localize product names and descriptions.\n */\n locales?: {\n [key: string]: {\n [key: string]: string\n }\n }\n /**\n * The date and time a catalog is created.\n */\n created_at: Date\n /**\n * The date and time a catalog was updated.\n */\n updated_at: Date\n /**\n * The owner of this resource, can be either `organization` or `store`.\n */\n owner?: \"store\" | \"organization\"\n /**\n * This indicates whether the catalog will support price segmentation using catalog rules to define which pricebook(s) to use for pricing\n */\n enable_price_segmentation?: boolean\n }\n /**\n * Relationships are established between different catalog entities. For example, a catalog rule and a price book are related to a catalog, as both are associated with it.\n */\n relationships?: {\n /**\n * The catalog rules related to a catalog.\n */\n rules?: {\n links?: RelatedLink\n }\n /**\n * When a catalog is published, a catalog release is created. This is a URL to all catalog published releases available for this catalog.\n */\n releases?: {\n links?: RelatedLink\n meta?: {\n /**\n * The number releases available for a catalog.\n */\n count?: number\n }\n }\n }\n type: \"catalog\"\n}\n\n/**\n * Creates a catalog with the following attributes.\n */\nexport type CatalogCreateData = {\n data: {\n attributes: {\n /**\n * The name of the catalog.\n */\n name: string\n /**\n * A brief description of the catalog.\n */\n description?: string | null\n /**\n * The unique identifiers of the hierarchies to associate with a catalog.\n */\n hierarchy_ids: Array<string>\n /**\n * The unique identifier of the price book to associate with this catalog. You can specify either a `pricebook_id` or `pricebook_ids` but not both. If you specify both a `pricebook_id` and `pricebook_ids`, a `422 Unprocessable Entity` error is displayed.\n *\n */\n pricebook_id?: string\n pricebook_ids?: PrioritizedPricebooks\n /**\n * Product Experience Manager supports localization of products and hierarchies. If you store supports multiple languages, you can localize product names and descriptions.\n */\n locales?: {\n [key: string]: {\n [key: string]: string\n }\n }\n /**\n * This indicates whether the catalog will support price segmentation using catalog rules to define which pricebook(s) to use for pricing\n */\n enable_price_segmentation?: boolean\n }\n /**\n * Represents the type of object being returned. Always `Catalog`.\n */\n type: \"catalog\"\n }\n}\n\n/**\n * Container for a single catalog.\n */\nexport type CatalogData = {\n data: Catalog\n links?: Links\n}\n\n/**\n * Container for a list of catalogs.\n */\nexport type CatalogListData = {\n data: Array<Catalog>\n meta?: PageMeta\n links?: Links\n}\n\n/**\n * A catalog combines price books, product lists, and hierarchies.\n */\nexport type CatalogUpdateData = {\n data: {\n attributes: {\n /**\n * The name of the catalog.\n */\n name?: string | null\n /**\n * A brief description of the catalog.\n */\n description?: string | null\n /**\n * The unique identifiers of the hierarchies to associate with a catalog.\n */\n hierarchy_ids?: Array<string> | null\n /**\n * The unique identifier of a price book to associate with a catalog. You can specify a `pricebook_id` or a `pricebook_ids` but not both. If you specify both, a `422 unprocessable entity` error is displayed.\n */\n pricebook_id?: string | null\n pricebook_ids?: PrioritizedPricebooks\n /**\n * Product Experience Manager supports localization of products and hierarchies. If you store supports multiple languages, you can localize product names and descriptions.\n */\n locales?: {\n [key: string]: {\n [key: string]: string\n }\n }\n /**\n * This indicates whether the catalog will support price segmentation using catalog rules to define which pricebook(s) to use for pricing\n */\n enable_price_segmentation?: boolean\n }\n /**\n * The unique identifier of the catalog to be updated.\n */\n id: string\n /**\n * This represents the type of object being returned. Always `catalog`.\n */\n type: \"catalog\"\n }\n}\n\n/**\n * The unique identifier of the component, for example, `games`.\n */\nexport type ComponentProduct = {\n /**\n * The component name is the name that is displayed in your storefront.\n */\n name?: string\n /**\n * The minimum number of product options a shopper can select from this component.\n */\n min?: number | null\n /**\n * The maximum number of product options a shopper can select from this component.\n */\n max?: number | null\n /**\n * The sort order of the components. The `create a bundle` and `update a bundle` endpoints do not sort the components. You can use the `sort_order` attribute when programming your storefront to display the components in the order that you want.\n */\n sort_order?: number | null\n /**\n * The product options included in a component. This can be the ID of another bundle.\n */\n options?: Array<ComponentProductOption>\n}\n\n/**\n * The product options included in a component. This can be the ID of another bundle.\n */\nexport type ComponentProductOption = {\n /**\n * A unique identifier of the product you want to add to a component.\n */\n id?: string\n /**\n * This represents the type of object being returned. Always `product`.\n */\n type?: \"product\"\n /**\n * The number of this product option that a shopper must purchase.\n */\n quantity?: number\n /**\n * The minimum quantity of this product option that a shopper can select.\n */\n min?: number | null\n /**\n * The maximum quantity of this product option that a shopper can select.\n */\n max?: number | null\n /**\n * The sort order of the options. The `create a bundle` and `update a bundle` endpoints do not sort the options. You can use the `sort_order` attribute when programming your storefront to display the options in the order that you want.\n */\n sort_order?: number | null\n /**\n * The boolean indicates whether the current option is a default option for the component.\n */\n default?: boolean | null\n /**\n * Indicates that the parent product added to a bundle is not directly purchasable. When set to true, the child products of the parent product should be displayed as options for selection in the bundle.\n */\n product_should_be_substituted_with_child?: boolean | null\n /**\n * Merchants can exclude specific child products from a parent product when configuring a bundle.\n */\n excluded_children?: Array<string>\n}\n\n/**\n * A bundle is a purchasable product, comprising of one or more products that you want to sell together. You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity.\n */\nexport type Components = {\n [key: string]: ComponentProduct\n}\n\n/**\n * The length of the custom input text field.\n */\nexport type CustomInputValidationRuleOptions = {\n /**\n * The number of characters the custom text field can be. You can specify a maximum length up to 255 characters, as the limit is 255 characters.\n */\n max_length?: number\n}\n\n/**\n * The validation rules for the custom text.\n */\nexport type CustomInputValidationRule = {\n /**\n * This represents the type of object being returned. Must be `string`.\n */\n type?: \"string\"\n options?: CustomInputValidationRuleOptions\n}\n\n/**\n * The name of the custom input. You can rename the input to something more representative of the input that shoppers are adding, for example, `message` or `front`.\n */\nexport type CustomInput = {\n /**\n * The name for the custom text field that is displayed in your storefront.\n */\n name?: string\n /**\n * The validation rules for the custom text.\n */\n validation_rules?: Array<CustomInputValidationRule>\n /**\n * This is `true` or `false` depending on whether the custom text is required.\n */\n required?: boolean | null\n}\n\n/**\n * You can allow your shoppers to add custom text to a product when adding product items to their carts. This is useful, for example, if you have a product like a T-shirt that can be personalized or you sell greetings cards that can be printed with your shoppers personalized messages. You can do this using the `custom_inputs` attribute.\n *\n * - You can rename input to something more representative of the input that shoppers are adding, for example, `message` or `front`.\n * - `name` is the name that is displayed in your storefront.\n * - You can add validation rules. For example, the input field must be a string and/or up to 255 characters in length. The limit is 255 characters.\n *\n */\nexport type CustomInputs = {\n [key: string]: CustomInput\n}\n\n/**\n * A collection of one or more currencies objects that consists of the [**three-letter ISO code**](https://www.iso.org/iso-3166-country-codes.html) of the currencies associated with this price and the amount. This is the product's price.\n */\nexport type Currencies = {\n [key: string]: Amount\n}\n\n/**\n * A collection of key-value string pairs, viewable by shoppers.\n */\nexport type ShopperAttributes = {\n [key: string]: string\n}\n\n/**\n * A list of differences between two releases.\n */\nexport type DiffListData = {\n data?: Array<ProductDiff>\n links?: Links\n}\n\n/**\n * A price formatted for display.\n */\nexport type DisplayPrice = {\n with_tax?: FormattedPrice\n without_tax?: FormattedPrice\n}\n\n/**\n * APIError is a json-api style part of an error response.\n */\nexport type _Error = {\n detail?: string\n status?: string\n title?: string\n}\n\n/**\n * ErrorResponse is a json-api style Error response.\n */\nexport type ErrorResponse = {\n errors?: Array<_Error>\n}\n\n/**\n * The name of the product template.\n */\nexport type Extension = {\n [key: string]: {\n [key: string]: unknown\n }\n}\n\n/**\n * With extension templates, you can attach a specific set of custom fields to your products in Product Experience Manager. For example, a **Book** template might contain the attributes, such as **ISBN**, **Author**, **Number of pages**, **Year Published**, or **Condition (New/Used)**.\n */\nexport type Extensions = {\n [key: string]: Extension\n}\n\n/**\n * In Product Experience Manager, products can have associated rich media assets, such as product images or a file containing additional product details.\n */\nexport type FileReference = {\n /**\n * This represents the type of object being returned. Always `file`.\n */\n type?: \"file\"\n /**\n * A unique identifier for a file.\n */\n id?: string\n /**\n * The date and time a file is created.\n */\n created_at?: Date\n}\n\n/**\n * In Product Experience Manager, products can have associated rich media assets, such as product images or a file containing additional product details.\n */\nexport type FilesRelationship = {\n data?: Array<FileReference>\n}\n\n/**\n * A bundle is a purchasable product, comprising of one or more products that you want to sell together. You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity. You can link to the products that make up your bundle components.\n */\nexport type ComponentProductsRelationship = {\n data?: ProductReferences\n links?: SelfLink\n}\n\n/**\n * A product can have custom relationships added that link to other products. These can be used for Parent/Child relationships as well as products that you want to Cross Sell/Promote.\n */\nexport type CustomRelationship = {\n data?: ProductReferences\n links?: CustomRelationshipLinks\n}\n\n/**\n * A price formatted for display.\n */\nexport type FormattedPrice = {\n /**\n * The price in the lowest denomination for the specified currency. This is a product's list price.\n */\n amount?: number\n /**\n * The three-letter ISO code of the currencies associated with this price and the amount.\n */\n currency?: string\n /**\n * The format of the price for display.\n */\n formatted?: string\n}\n\n/**\n * A category hierarchy in a catalog. Hierarchies can have parent nodes and child nodes, as well as a list of attached products.\n */\nexport type Hierarchy = {\n attributes?: HierarchyAttributes\n /**\n * A unique identifier of a hierarchy.\n */\n id?: string\n relationships?: HierarchyRelationships\n /**\n * This represents the type of object being returned. Always `hierarchy`.\n */\n type?: string\n meta?: HierarchyMeta\n}\n\n/**\n * A hierarchy's metadata.\n */\nexport type HierarchyMeta = {\n /**\n * Product Experience Manager supports localization of hierarchies. If your store supports multiple languages, you can localize hierarchy names and descriptions. This is [**three-letter language code**](https://www.iso.org/iso-639-language-code) that represents the name of the language you have used.\n */\n language?: string\n /**\n * Hierarchy Breadcrumbs\n */\n breadcrumbs?: Array<{\n /**\n * The unique identifier of a hierarchy.\n */\n id?: string\n /**\n * The name of the hierarchy.\n */\n name?: string\n /**\n * A slug for the hierarchy.\n */\n slug?: string\n }>\n /**\n * Indicates whether a node has child nodes. `true` if the node has at least one child, `false` if it has none.\n */\n has_children?: boolean | null\n}\n\n/**\n * Resource attributes of a catalog hierarchy.\n */\nexport type HierarchyAttributes = {\n /**\n * The date and time a hierarchy is created.\n */\n created_at?: Date\n /**\n * The date and time a hierarchy is published in a catalog.\n */\n published_at?: Date | null\n /**\n * A description of a hierarchy.\n */\n description?: string\n /**\n * The name of a hierarchy.\n */\n name?: string\n /**\n * A unique slug for a hierarchy.\n */\n slug?: string\n shopper_attributes?: ShopperAttributes\n /**\n * The date and time a hierarchy was updated.\n */\n updated_at?: Date\n}\n\n/**\n * Container for hierarchies.\n */\nexport type HierarchyData = {\n data?: Hierarchy\n links?: Links\n}\n\n/**\n * Container for a list of hierarchies.\n */\nexport type HierarchyListData = {\n meta?: PageMeta\n data?: Array<Hierarchy>\n links?: Links\n}\n\n/**\n * Relationships to child nodes, and products.\n */\nexport type HierarchyRelationships = {\n /**\n * A URL to all the products associated with a hierarchy.\n */\n products?: {\n links?: RelatedLink\n }\n /**\n * A URL to all the child products associated with a hierarchy.\n */\n children?: {\n links: RelatedLink\n }\n /**\n * A URL to all the nodes associated with a hierarchy.\n */\n nodes?: {\n links: RelatedLink\n }\n}\n\n/**\n * Links allow you to move between requests.\n */\nexport type Links = {\n /**\n * Single entities use a `self` parameter with a link the specific resource.\n */\n self?: string | null\n /**\n * Always the first page.\n */\n first?: string | null\n /**\n * This is `null` if there is only one page.\n */\n last?: string | null\n /**\n * This is `null` if there is only one page.\n */\n prev?: string | null\n /**\n * This is `null` if there is only one page.\n */\n next?: string | null\n}\n\n/**\n * Included is an array of resources that are included in the response.\n */\nexport type IncludedResponse = {\n /**\n * The main images associated with a product.\n */\n main_images?: Array<ElasticPathFile>\n /**\n * Returns a list of component products in a product bundle. If a bundle has no component products (in other words, is not a product bundle), an empty array is returned.\n */\n component_products?: Array<Product>\n /**\n * The files associated with a product.\n */\n files?: Array<ElasticPathFile>\n}\n\nexport type ElasticPathFile = {\n /**\n * The unique identifier for this file.\n */\n id?: string\n /**\n * The type represents the object being returned.\n */\n type?: string\n /**\n * The name of the file.\n */\n file_name?: string\n /**\n * The mime type of the file.\n */\n mime_type?: string\n /**\n * The size of the file. Required when uploading files.\n */\n file_size?: number\n /**\n * DEPRECATED Whether the file public or not. Required when uploading files.\n */\n public?: boolean\n meta?: {\n /**\n * The date and time the file was created.\n */\n timestamps?: {\n /**\n * The date and time the file was created.\n */\n created_at?: string\n }\n /**\n * The file dimensions.\n */\n dimensions?: {\n /**\n * The width of the file.\n */\n width?: number\n /**\n * The height of the file.\n */\n height?: number\n }\n }\n /**\n * Links are used to allow you to move between requests.\n */\n links?: {\n /**\n * Single entities use a self parameter with a link to that specific resource.\n */\n self?: string\n }\n /**\n * The publicly available URL for this file.\n */\n link?: {\n /**\n * The publicly available URL for this file.\n */\n href?: string\n meta?: {\n /**\n * Contains the results for the entire collection.\n */\n results?: {\n /**\n * Total number of results for the entire collection.\n */\n total?: number\n }\n }\n }\n}\n\n/**\n * In Product Experience Manager, products can also have associated product images.\n */\nexport type MainImageRelationship = {\n /**\n * The images associated with a product.\n */\n data?: {\n /**\n * This represents the type of object being returned. Always `main_image`.\n */\n type?: \"main_image\"\n /**\n * A unique identifier for an image.\n */\n id?: string\n }\n}\n\n/**\n * A category node in a catalog. Nodes can have child nodes, as well as a list of attached products.\n */\nexport type Node = {\n attributes?: NodeAttributes\n /**\n * The unique identifier of a node.\n */\n id?: string\n relationships?: NodeRelationships\n /**\n * This represents the type of object being returned. Always `node`.\n */\n type?: string\n meta?: NodeMeta\n}\n\n/**\n * Resource attributes of a catalog node.\n */\nexport type NodeAttributes = {\n /**\n * The date and time a node was created.\n */\n created_at?: Date\n /**\n * The date and time a node was published in a catalog.\n */\n published_at?: Date | null\n /**\n * A description of a node.\n */\n description?: string\n label?: string\n /**\n * The name of a node. Names must be unique among sibling nodes in a hierarchy. Otherwise, a name can be non-unique within the hierarchy and across multiple hierarchies.\n */\n name?: string\n /**\n * A slug for the node. Slugs must be unique among sibling nodes in the hierarchy. Otherwise, a slug can be non-unique within the hierarchy and across multiple hierarchies.\n */\n slug?: string\n /**\n * A list of curated products for a node. You can curate your products in your nodes product lists. Product curation allows you to promote specific products within each node in a hierarchy, enabling you to create unique product collections in your storefront.\n */\n curated_products?: Array<string>\n status?: string\n shopper_attributes?: ShopperAttributes\n /**\n * The date and time a node was updated.\n */\n updated_at?: Date\n}\n\n/**\n * Container for nodes.\n */\nexport type NodeCreateData = {\n /**\n * A node in a catalog (e.g. a category node). Nodes can have child nodes, as well as a list of attached products\n */\n data: {\n /**\n * Resource attributes of a catalog node.\n */\n attributes: {\n description?: string\n /**\n * hierarchy id of the node\n */\n hierarchy_id?: string\n label?: string\n name: string\n slug?: string\n status?: string\n locales?: {\n [key: string]: {\n [key: string]: string\n }\n }\n }\n relationships?: NodeRelationships\n id?: string\n type: string\n }\n links?: Links\n}\n\n/**\n * Container for nodes.\n */\nexport type NodeData = {\n data?: Node\n links?: Links\n}\n\n/**\n * Container for a list of nodes.\n */\nexport type NodeListData = {\n meta?: PageMeta\n data?: Array<Node>\n links?: Links\n}\n\n/**\n * A node's metadata.\n */\nexport type NodeMeta = {\n /**\n * The node details localized in the supported languages.\n */\n language?: string\n /**\n * Helps you understand the association of products with nodes. It explains how products are associated with parent nodes and the relationship among the array of nodes. This is useful if you want to improve how your shoppers search within you store.\n * @deprecated\n */\n bread_crumb?: Array<string>\n /**\n * Node Breadcrumbs\n */\n breadcrumbs?: Array<{\n /**\n * The unique identifier of a hierarchy/node.\n */\n id?: string\n /**\n * The name of the hierarchy/node.\n */\n name?: string\n /**\n * A slug for the hierarchy/node.\n */\n slug?: string\n }>\n /**\n * Indicates whether a node has child nodes. `true` if the node has at least one child, `false` if it has none.\n */\n has_children?: boolean | null\n}\n\n/**\n * Minimum set of information to identify a catalog node.\n */\nexport type NodeReference = {\n /**\n * The unique identifier of a hierarchy.\n */\n id?: string\n /**\n * A label for a hierarchy.\n */\n label?: string\n /**\n * The name of a hierarchy.\n */\n name?: string\n}\n\n/**\n * Relationships to parent and child nodes, and products.\n */\nexport type NodeRelationships = {\n /**\n * A URL to all products associated with a node.\n */\n products?: {\n data?: Array<ProductReference>\n links?: RelatedLink\n }\n /**\n * A URL to all child nodes associated with a node.\n */\n children?: {\n links: RelatedLink\n }\n /**\n * A URL to all parent nodes associated with a node.\n */\n parent?: {\n data: {\n type: \"node\"\n id: string\n }\n links?: RelatedLink\n }\n /**\n * A URL to the hierarchies associated with a node.\n */\n hierarchy?: {\n data: {\n type: \"hierarchy\"\n id: string\n }\n links?: RelatedLink\n }\n}\n\n/**\n * Container for node relationships.\n */\nexport type NodeRelationshipsData = {\n data?: NodeRelationships\n links?: Links\n}\n\n/**\n * Contains the results for the entire collection.\n */\nexport type PageMeta = {\n /**\n * Total number of results for the entire collection.\n */\n results?: {\n /**\n * Total number of results for the entire collection.\n */\n total?: BigInt\n }\n page?: {\n /**\n * The maximum number of records for all pages.\n */\n limit?: BigInt\n /**\n * The current offset by number of pages.\n */\n offset?: BigInt\n /**\n * The current number of pages.\n */\n current?: BigInt\n /**\n * The total number of records for the entire collection.\n */\n total?: BigInt\n }\n}\n\n/**\n * Top level entity in the pricebooks domain model. It contains a list of product prices.\n */\nexport type Pricebook = {\n /**\n * The unique identifier of a price book.\n */\n id?: string\n /**\n * This represents the type of object being returned. Always `pricebook`.\n */\n type: \"pricebook\"\n attributes: {\n created_at?: Date\n description?: string | null\n name: string | null\n updated_at?: Date\n }\n}\n\n/**\n * Container for pricebooks.\n */\nexport type PricebookCreateData = {\n /**\n * New top level pricebook.\n */\n data: {\n type: \"pricebook\"\n attributes: {\n description?: string | null\n name: string | null\n }\n }\n links?: Links\n}\n\n/**\n * Container for pricebooks.\n */\nexport type PricebookData = {\n data: Pricebook\n links?: Links\n}\n\n/**\n * ProductPrice associates a collection of locale specific prices with a product ID.\n */\nexport type PricebookPrice = {\n type: \"product-price\"\n attributes: {\n currencies: TieredCurrencies\n sales?: Sales\n sku: string\n }\n id: string\n}\n\n/**\n * Container for pricebook prices.\n */\nexport type PricebookPriceCreateData = {\n /**\n * ProductPrice associates a collection of locale specific prices with a product ID.\n */\n data: {\n type: \"product-price\"\n attributes: {\n currencies: TieredCurrencies\n sales?: Sales\n sku: string\n }\n }\n links?: Links\n}\n\n/**\n * Container for pricebook prices.\n */\nexport type PricebookPriceData = {\n data: PricebookPrice\n links?: Links\n}\n\n/**\n * A product in a catalog with the following attributes.\n */\nexport type Product = {\n attributes?: ProductAttributes\n /**\n * A unique identifier for a product.\n */\n id?: string\n relationships?: ProductRelationships\n /**\n * This represents the type of object being returned. Always `product`.\n */\n type?: string\n meta?: ProductMeta\n}\n\n/**\n * A product's attributes.\n */\nexport type ProductAttributes = {\n /**\n * The date and time a product was published in a catalog.\n */\n published_at?: Date | null\n /**\n * If this product is a `parent` product. A `parent` product is a product that has child products that have been built using the `build child products` endpoint.\n */\n base_product?: boolean\n /**\n * The unique identifier of a `parent` product.\n */\n base_product_id?: string\n /**\n * The commodity type, either `physical` or `digital`.\n */\n commodity_type?: string\n /**\n * If a product is curated, then the `curated_product` attribute with a value of `true` is displayed. If a product is not curated, the `curated_product` attribute is not displayed.\n */\n curated_product?: boolean\n /**\n * The universal product code or european article number of the product.\n */\n upc_ean?: string\n /**\n * The manufacturer part number of the product.\n */\n manufacturer_part_num?: string\n /**\n * A list of tags associated with the product. A tag must be HTML compatible characters excluding commas and will be stored in lowercase letters.\n */\n tags?: Array<string>\n /**\n * A list of price modifier names.\n */\n price_modifiers?: Array<string>\n /**\n * The date and time a product was created.\n */\n created_at?: Date\n /**\n * A description of the product.\n */\n description?: string\n /**\n * A name of a product.\n */\n name?: string\n price?: Currencies\n shopper_attributes?: ShopperAttributes\n tiers?: Tiers\n components?: Components\n custom_inputs?: CustomInputs\n /**\n * The unique stock keeping unit of the product.\n */\n sku?: string\n /**\n * A label for the product that is used in the URL paths. A slug can contain A to Z, a to z, 0 to 9, hyphen, underscore, and period. Spaces or other special characters like ^, [], *, and $ are not allowed. By default, the product name is used as the slug.\n */\n slug?: string\n /**\n * The status of the product, either `live` or `draft`.\n */\n status?: string\n /**\n * The unique attribute associated with the product. This could be an external reference from a separate company system, for example.\n */\n external_ref?: string | null\n /**\n * The date and time a product was updated.\n */\n updated_at?: Date\n extensions?: Extensions\n}\n\n/**\n * Container for products.\n */\nexport type ProductCreateData = {\n /**\n * A new product in a catalog.\n */\n data?: {\n /**\n * A product's attributes.\n */\n attributes: {\n description?: string\n name: string\n sku?: string\n slug?: string\n status: string\n locales?: {\n [key: string]: {\n [key: string]: string\n }\n }\n }\n id?: string\n type: string\n }\n links?: Links\n}\n\n/**\n * Container for products.\n */\nexport type ProductData = {\n data?: Product\n included?: IncludedResponse\n links?: Links\n}\n\nexport type ProductDiff = {\n id?: string\n type?: string\n attributes?: {\n sku?: string\n this_release_id?: string\n other_release_id?: string\n diff_created_at?: Date\n exists?: {\n this: boolean\n other: boolean\n }\n updated_at?: {\n this?: Date | null\n other?: Date | null\n }\n }\n}\n\n/**\n * Container for a list of products.\n */\nexport type ProductListData = {\n meta?: PageMeta\n data?: Array<Product>\n included?: IncludedResponse\n links?: Links\n}\n\n/**\n * A product's metadata contains information about products, for example, the nodes a product is associated with, any child products, bundle configurations, and so on.\n */\nexport type ProductMeta = {\n /**\n * The relationship among the array of nodes a product is associated with, demonstrating the linking of the children nodes with the parent nodes. Up to 10 levels of parent nodes are displayed, depending on the number of levels of parent nodes you have.\n */\n bread_crumbs?: {\n [key: string]: Array<string>\n }\n /**\n * An array of parent node IDs that a product is associated with. Up to 10 levels of parent nodes are displayed, depending on the number of levels of parent nodes you have.\n */\n bread_crumb_nodes?: Array<string>\n /**\n * A unique identifier of the catalog a product is associated with.\n */\n catalog_id?: string\n /**\n * The unique identifier of the price book a product is associated with.\n */\n pricebook_id?: string | null\n display_price?: DisplayPrice\n /**\n * The source of a catalog. Always `pim`.\n */\n catalog_source?: \"pim\"\n /**\n * With sales pricing, a store can optionally add a sale price to a product price. For example, a store can schedule seasonal pricing on products without creating a new price book and catalog ruleset. Optionally, a store can schedule the date ranges for the sale products. This is the unique identifier of a sale.\n */\n sale_id?: string\n /**\n * The date and time a sale expires.\n */\n sale_expires?: Date | null\n original_price?: Currencies\n original_display_price?: DisplayPrice\n bundle_configuration?: BundleConfiguration\n /**\n * A bundle is a purchasable product, comprising of one or more products that you want to sell together. You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity.\n */\n component_products?: {\n [key: string]: {\n /**\n * With sales pricing, a store can optionally add a sale price to a product price. For example, a store can schedule seasonal pricing on products without creating a new price book and catalog ruleset. Optionally, a store can schedule the date ranges for the sale products. This is the unique identifier of a sale.\n */\n sale_id?: string\n /**\n * The date and time a sale expires.\n */\n sale_expires?: Date | null\n price?: Currencies\n display_price?: DisplayPrice\n original_price?: Currencies\n original_display_price?: DisplayPrice\n pricebook_id?: string | null\n }\n }\n /**\n * This will contain the component product details (with bundle specific pricing) in the configure bundle response for the selected options.\n */\n component_product_data?: {\n [key: string]: Product\n }\n /**\n * You can use price modifiers to change the price property of child products. By default, child products inherit the same price as their base products. Using price modifiers, you can enable child products to inherit a different price.\n */\n price_modifiers?: {\n [key: string]: {\n /**\n * There are three modifier types.\n *\n * - The `price_increment` type increases the prices of a product.\n * - The `price_decrement` type decreases the price of a product.\n * - The `price_equals` type sets the price of a product to an amount you specify.\n *\n */\n modifier_type?: string\n currencies?: Currencies\n }\n }\n /**\n * You can use tiers to allow your store to offer different pricing for minimum quantities of items that your shoppers purchase.\n */\n tiers?: {\n [key: string]: {\n /**\n * The unique identifier of a sale.\n */\n sale_id?: string\n /**\n * The date and time a sale expires.\n */\n sale_expires?: Date | null\n display_price?: DisplayPrice\n original_price?: Currencies\n original_display_price?: DisplayPrice\n }\n }\n /**\n * The `variation_matrix` object lists the variation IDs and variation option IDs and their corresponding product IDs that are generated when the variation and variation options are built with a product. If no variations are available, the `variation_matrix` is empty.\n */\n variation_matrix?: {\n [key: string]: unknown\n }\n /**\n * If you specified `build_rules` for a product, the `variations` object lists the variation option IDs that you specified to include when building your child products. If no `build_rules` are specified, all the variation and variation options available for a product are displayed. If a product does not have any variations, then the `variations` object is not displayed.\n */\n variations?: Array<Variation>\n /**\n * An array of variation options IDs that a child product has.\n */\n child_option_ids?: Array<string> | null\n /**\n * If this is a child product, the `child_variations` object lists the variation option IDs that define this child product.\n */\n child_variations?: Array<Variation> | null\n /**\n * Commerce automatically assigns types to the products you create. In Commerce Manager, you can see at a glance the product types in a list of a products. In addition, you can filter on product types in both the API and Commerce Manager.\n *\n * Product types can also be used in catalogs. For example, in your catalog, you can filter on parent so that only your parent products are displayed in your storefront.\n *\n * Products have one of the following types:\n *\n * - **standard** - Standard products are a standalone products.\n * - **parent** - A parent product is a product that has child products that have been built using the `Build Child Products` endpoint.\n * - **child** - When you configure product variations and variation options for parent products, the child products derived from the parent products are automatically created in Commerce.\n * - **bundle** - A bundle is a purchasable product, comprising two or more standalone products (in other words, components) to be sold together.\n *\n */\n product_types?: Array<string>\n /**\n * If you storefront supports multiple languages, your storefront's preferred language and locale.\n */\n language?: string\n /**\n * In Commerce Manager you can define Custom Relationships for Products. These allow Merchandisers to set up Cross Sell/Parent Child Relationships between products for display to shoppers.\n * This field will list the slugs(identifiers) of Custom Relationships that have been associated with this product. This will allow conditional rendering of related product sections if needed\n * and provides the slug(s) needed to list the related products for the Product\n *\n */\n custom_relationships?: Array<string>\n}\n\n/**\n * The options available for a variation.\n */\nexport type VariationOption = {\n /**\n * A unique identifier for an option.\n */\n id?: string\n /**\n * The name of the option.\n */\n name?: string\n /**\n * If you specified a `sort_order` when creating your variations and variation options, then use the `sort_order` value to program your storefront to display the variations and variation options in the order that you want.\n */\n sort_order?: number | null\n /**\n * The option description to display to customers.\n */\n description?: string\n}\n\nexport type Variation = {\n /**\n * A unique identifier of a variation.\n */\n id?: string\n /**\n * The name of a variation.\n */\n name?: string\n /**\n * If you specified a `sort_order` when creating your variations and variation options, then use the `sort_order` value to program your storefront to display the variations and variation options in the order that you want.\n */\n sort_order?: number | null\n option?: VariationOption\n /**\n * The options available for this variation.\n */\n options?: Array<VariationOption>\n}\n\n/**\n * Container for a bundle configuration.\n */\nexport type BundleConfigurationData = {\n data: BundleConfiguration\n}\n\n/**\n * A bundle is a purchasable product, comprising of one or more products that you want to sell together. You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity.\n */\nexport type BundleConfiguration = {\n /**\n * The product options included in a component. This can be the ID of another bundle.\n */\n selected_options: {\n [key: string]: {\n [key: string]: BigInt\n }\n }\n}\n\n/**\n * A product identifier.\n */\nexport type ProductReference = {\n /**\n * A unique identifier for a product.\n */\n id?: string\n /**\n * This represents the type of object being returned. Always `product`.\n */\n type?: \"product\"\n}\n\n/**\n * Container for a list of product references.\n */\nexport type ProductReferenceListData = {\n meta?: PageMeta\n data?: ProductReferences\n links?: Links\n}\n\n/**\n * A list of product identifiers.\n */\nexport type ProductReferences = Array<ProductReference>\n\n/**\n * Relationships allow you to move between requests. Includes links to the parent and child products, bundle component products, files, and main images associated with a product.\n */\nexport type ProductRelationships = {\n /**\n * The details of a `parent` product. A `parent` product is a product that has child products that have been built using the `Build Child Products` endpoint.\n */\n parent?: {\n data?: ProductReference\n }\n /**\n * The details of a `child` product. When you configure product variations and variation options for parent products, the child products derived from the parent products are automatically created in Commerce.\n */\n children?: {\n data?: ProductReferences\n links?: SelfLink\n }\n files?: FilesRelationship\n main_image?: MainImageRelationship\n component_products?: ComponentProductsRelationship\n custom_relationships?: CustomRelationship\n}\n\n/**\n * Container for product relationships.\n */\nexport type ProductRelationshipsData = {\n data?: ProductRelationships\n links?: Links\n}\n\n/**\n * A list of products to be added to cart. Can be type product-data or error-response.\n */\nexport type ProductsForCart = {\n data: Array<unknown>\n included?: {\n component_products?: Array<Product>\n } | null\n}\n\n/**\n * A list of product id or sku and bundle configuration for cart.\n */\nexport type ProductsForCartConfiguration = {\n data: Array<{\n id?: string | null\n sku?: string | null\n bundle_configuration?: BundleConfiguration\n }>\n}\n\n/**\n * A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.\n */\nexport type RelatedLink = {\n /**\n * A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.\n */\n related: string\n}\n\n/**\n * For each custom relationship in use on the product, there will be a link to follow.\n */\nexport type CustomRelationshipLinks = {\n [key: string]: unknown\n}\n\n/**\n * Links are used to allow you to move between requests.\n */\nexport type SelfLink = {\n /**\n * Single entities use a self parameter with a link to that specific resource.\n */\n self: string\n}\n\n/**\n * A catalog release represents a collection of hierarchical product data, price books and catalogs rules.\n */\nexport type Release = {\n /**\n * A unique identifier for the catalog release.\n */\n id?: string\n attributes?: {\n /**\n * The name of a release.\n */\n name?: string\n /**\n * The date and time a release was published.\n */\n published_at?: Date | null\n /**\n * A unique identifier for the catalog.\n */\n catalog_id?: string\n /**\n * A description of the catalog release.\n */\n description?: string\n /**\n * An array of hierarchy IDs associated with the release.\n */\n hierarchies?: Array<NodeReference>\n }\n relationships?: ReleaseRelationships\n /**\n * This represents the type of object being returned. Always `catalog-release`.\n */\n type?: string\n meta?: ReleaseMeta\n}\n\n/**\n * Container for a catalog release.\n */\nexport type ReleaseData = {\n data?: Release\n links?: Links\n}\n\n/**\n * Container for a list of catalog releases.\n */\nexport type ReleaseListData = {\n data?: Array<Release>\n links?: Links\n}\n\n/**\n * The status of the current release.\n */\nexport type ReleaseStatus = \"PENDING\" | \"IN_PROGRESS\" | \"FAILED\" | \"PUBLISHED\"\n\n/**\n * A release's metadata.\n */\nexport type ReleaseMeta = {\n /**\n * The date and time a release is created.\n */\n created_at?: Date\n /**\n * The date and time a release is available for use. In other words, the date and time the status of a catalog release changes to PUBLISHED, rather than IN PROGRESS.\n */\n started_at?: Date | null\n /**\n * The date and time a release is updated.\n */\n updated_at?: Date | null\n /**\n * The status of the current release.\n */\n release_status?: \"PENDING\" | \"IN_PROGRESS\" | \"FAILED\" | \"PUBLISHED\"\n /**\n * Your storefront's preferred language code and locale.\n */\n language?: string\n /**\n * Indicates that a full publish was performed (either because this is the first time a catalog has been published or because of a change that occurred, for example, adding/removing a price book or hierarchy). When determining whether delta data needs to be refreshed, ignore this attribute and always use the `is_full_delta` attribute.\n *\n */\n is_full_publish?: boolean\n /**\n * Indicates whether the release delta file contains the full content of a catalog release. Using a search service as an example, if the `is_full_delta` attribute is `true`, you should remove all data about that catalog release from the search service before injecting fresh data from the delta file. If the `is_full_delta` attribute is `false`, then data from the previous catalog release overlays the existing data in the delta file. The `is_full_delta` attribute is always `true` the first time a catalog is published.\n *\n */\n is_full_delta?: boolean\n /**\n * The total number of products displayed in a catalog release.\n */\n total_products?: BigInt | null\n /**\n * The total number of hierarchy nodes displayed in a catalog release.\n */\n total_nodes?: BigInt | null\n /**\n * An integer that represents the progress of a catalog publish. The attribute starts at `0` and reaches `100` when publishing is complete.\n */\n percent_completed?: number | null\n /**\n * The owner of the resource, can be either `organization` or `store`.\n */\n owner?: \"store\" | \"organization\"\n /**\n * This indicates whether the catalog release will support price segmentation using catalog rules to define which pricebook(s) to use for pricing\n */\n price_segmentation_enabled?: boolean\n}\n\n/**\n * Relationships are established between different catalog entities. For example, products, hierarchies, price books, and catalog rules are related to a catalog, as they are associated with it.\n */\nexport type ReleaseRelationships = {\n /**\n * A URL to a delta document that describes the changes between catalog releases.\n */\n delta?: {\n links?: RelatedLink\n }\n /**\n * A URL to all products included in a catalog release.\n */\n products?: {\n links?: RelatedLink\n }\n /**\n * A URL to all hierarchies included in a catalog release.\n */\n hierarchies?: {\n links: RelatedLink\n }\n}\n\n/**\n * A catalog rule specifies which catalog to use for a given shopper context.\n */\nexport type Rule = {\n /**\n * The catalog rule ID. Use this to get, modify, or delete the catalog rule.\n */\n id: string\n attributes: {\n /**\n * The name of a catalog rule. The name must not contain any spaces.\n */\n name: string\n /**\n * A brief description of the purpose of a catalog rule.\n */\n description?: string\n /**\n * The list of accounts who are eligible to see this catalog. If this field is empty, the rule matches all accounts.\n */\n account_ids?: Array<string>\n /**\n * The list of customers who are eligible to see this catalog. If empty, the rule matches all customers.\n */\n customer_ids?: Array<string>\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n channels?: Array<string>\n /**\n * A list of user-defined tags that can be used to further restrict the eligibility criteria for this rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n tags?: Array<string>\n /**\n * Specifies a time period when a catalog is displayed, such as on a specific date or during summer. Requests populate the rule tag using the `EP-Context-Tag` header.\n *\n * The schedules attribute must include the following.\n *\n * - `valid_from` matches the date and time that the catalog is displayed from.\n * - `valid_to` matches the date and time the catalog is displayed to.\n *\n * Commerce runs on UTC time.\n *\n * You can offset the timezone by adding the offset to the end of the date and time. For example, a catalog which contains a sale hierarchy that should appear for a set timeframe may be scheduled to publish on a given date and time within a given timezone. For instance, a sale that should begin on 1st of June 2022 05:00 ET and end on the 15th of June 2022 at 23:50 PT would have a valid schedule of `\"valid_from\": \"2022-06-01T05:00:00.000-05:00\"`, `\"valid_to\": \"2022-06-15T11:59:99.000-08:00\"`.\n *\n */\n schedules?: Array<RuleSchedule>\n /**\n * The unique identifier of a catalog.\n */\n catalog_id: string\n /**\n * The date and time a catalog rule was created.\n */\n created_at: Date\n /**\n * The date and time a catalog release is updated.\n */\n updated_at: Date\n /**\n * The unique identifier of a price book to associate with a rule. You can specify a `pricebook_id` or a `pricebook_ids` but not both. If you specify both, a `422 unprocessable entity` error is displayed.\n */\n pricebook_id?: string | null\n pricebook_ids?: PrioritizedPricebooks\n }\n /**\n * This represents the type of object being returned. Always `catalog_rule`.\n */\n type: \"catalog_rule\"\n}\n\n/**\n * A catalog rule specifies which catalog to use for a given shopper context.\n */\nexport type RuleCreateData = {\n data: {\n attributes: {\n /**\n * The name of a catalog rule. The name must not contain spaces.\n */\n name: string\n /**\n * A brief description of the purpose of a catalog rule.\n */\n description?: string | null\n /**\n * The list of accounts who are eligible to see this catalog. If this field is empty, the rule matches all accounts.\n */\n account_ids?: Array<string> | null\n /**\n * The list of customers who are eligible to see this catalog. If empty, the rule matches all customers.\n */\n customer_ids?: Array<string> | null\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n channels?: Array<string> | null\n /**\n * A list of user-defined tags that can be used to further restrict the eligibility criteria for this rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n tags?: Array<string> | null\n /**\n * Specifies a time period when a catalog is displayed, such as on a specific date or during summer. Requests populate the rule tag using the `EP-Context-Tag` header.\n *\n * The schedules attribute must include the following.\n *\n * - `valid_from` matches the date and time that the catalog is displayed from.\n * - `valid_to` matches the date and time the catalog is displayed to.\n *\n * Commerce runs on UTC time.\n *\n * You can offset the timezone by adding the offset to the end of the date and time. For example, a catalog which contains a sale hierarchy that should appear for a set timeframe may be scheduled to publish on a given date and time within a given timezone. For instance, a sale that should begin on 1st of June 2022 05:00 ET and end on the 15th of June 2022 at 23:50 PT would have a valid schedule of `\"valid_from\": \"2022-06-01T05:00:00.000-05:00\"`, `\"valid_to\": \"2022-06-15T11:59:99.000-08:00\"`.\n *\n */\n schedules?: Array<RuleSchedule> | null\n /**\n * The unique identifier of a catalog.\n */\n catalog_id: string\n /**\n * The unique identifier of a price book to associate with a rule. You can specify a `pricebook_id` or a `pricebook_ids` but not both. If you specify both, a `422 unprocessable entity` error is displayed.\n */\n pricebook_id?: string | null\n pricebook_ids?: PrioritizedPricebooks\n }\n /**\n * This represents the type of object being returned. Always `catalog_rule`.\n */\n type: \"catalog_rule\"\n }\n}\n\n/**\n * Container for a single catalog rule.\n */\nexport type RuleData = {\n data: Rule\n links?: Links\n}\n\n/**\n * Container for a list of catalog rules.\n */\nexport type RuleListData = {\n meta?: PageMeta\n data: Array<Rule>\n links?: Links\n}\n\n/**\n * A period of time during which a catalog is valid\n */\nexport type RuleSchedule = {\n /**\n * Matches the date and time that the catalog is displayed from.\n */\n valid_from?: Date | null\n /**\n * Matches the date and time the catalog is displayed to.\n */\n valid_to?: Date | null\n}\n\n/**\n * A catalog rule specifies which catalog to use for a given shopper context.\n */\nexport type RuleUpdateData = {\n data: {\n /**\n * The catalog rule ID. Use this to get, modify, or delete the catalog rule.\n */\n id: string\n attributes?: {\n /**\n * The name of a catalog rule. The name must not contain spaces.\n */\n name?: string | null\n /**\n * A description of the purpose of a catalog rule.\n */\n description?: string | null\n /**\n * Specifies the list of accounts who are eligible to see this catalog. If this field is empty, the rule matches all accounts.\n */\n account_ids?: Array<string> | null\n /**\n * The list of customers who are eligible to see this catalog. If empty, the rule matches all customers.\n */\n customer_ids?: Array<string> | null\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n channels?: Array<string> | null\n /**\n * Specifies a time period when a catalog is displayed, such as on a specific date or during summer. Requests populate the rule tag using the `EP-Context-Tag` header.\n *\n * The schedules attribute must include the following.\n *\n * - `valid_from` matches the date and time that the catalog is displayed from.\n * - `valid_to` matches the date and time the catalog is displayed to.\n *\n * Commerce runs on UTC time.\n *\n * You can offset the timezone by adding the offset to the end of the date and time. For example, a catalog which contains a sale hierarchy that should appear for a set timeframe may be scheduled to publish on a given date and time within a given timezone. For instance, a sale that should begin on 1st of June 2022 05:00 ET and end on the 15th of June 2022 at 23:50 PT would have a valid schedule of `\"valid_from\": \"2022-06-01T05:00:00.000-05:00\"`, `\"valid_to\": \"2022-06-15T11:59:99.000-08:00\"`.\n *\n */\n schedules?: Array<RuleSchedule> | null\n /**\n * A list of user-defined tags that can be used to further restrict the eligibility criteria for this rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n tags?: Array<string> | null\n /**\n * The unique identifier of a catalog rule.\n */\n catalog_id?: string | null\n /**\n * The unique identifier of a price book to associate with a rule. You can specify a `pricebook_id` or a `pricebook_ids` but not both. If you specify both, a `422 unprocessable entity` error is displayed.\n */\n pricebook_id?: string | null\n pricebook_ids?: PrioritizedPricebooks\n }\n /**\n * This represents the type of object being returned. Always `catalog_rule`.\n */\n type: \"catalog_rule\"\n }\n}\n\n/**\n * A set of sale prices and a validity period.\n */\nexport type Sale = {\n schedule?: Schedule\n currencies?: TieredCurrencies\n}\n\n/**\n * A set of sale specifications\n */\nexport type Sales = {\n [key: string]: Sale\n}\n\n/**\n * A definition of the times at which a sale is valid\n */\nexport type Schedule = {\n valid_from?: Date | null\n valid_to?: Date | null\n}\n\n/**\n * The name of the tier, for example, `Pencils`.\n */\nexport type Tier = {\n /**\n * The minimum quantity of 1 or more defined for the specified price. If a minimum quantity is not specified, an error is returned.\n */\n minimum_quantity?: number\n price?: Currencies\n}\n\n/**\n * The three-letter ISO code for the currency associated with this price.\n */\nexport type TieredAmount = {\n /**\n * The price in the lowest denomination for the specified currency. This is a product's list price.\n */\n amount?: BigInt\n /**\n * Whether this price includes tax.\n */\n includes_tax?: boolean\n /**\n * The price tier that an item is eligible for based on the quantity purchased. You cannot have conflicting tiers within the same currencies block.\n */\n tiers?: {\n [key: string]: {\n /**\n * The minimum quantity of 1 or more defined for the specified price. If a minimum quantity is not specified, an error is returned.\n */\n minimum_quantity?: number\n /**\n * The price for each quantity.\n */\n amount?: BigInt\n }\n }\n}\n\n/**\n * Collection of currency specific prices for a product.\n */\nexport type TieredCurrencies = {\n [key: string]: TieredAmount\n}\n\n/**\n * The price tier that an item is eligible for based on the quantity purchased. You cannot have conflicting tiers within the same currencies block.\n */\nexport type Tiers = {\n [key: string]: Tier\n}\n\n/**\n * Creates a catalog release with the following attributes.\n */\nexport type CatalogReleaseCreateData = {\n data?: {\n /**\n * Set to `true` if you want to export all the data from a catalog release in a delta link. The `is_full_delta` attribute is returned from the `get a release of a catalog` endpoint. The `is_full_delta` attribute tells you if the delta file contains the full content of a catalog release. You can use the `is_full_delta` to determine if you need to refresh the data in your company system before publishing a catalog release with fresh data in a delta link. Using a search service as an example, if the `is_full_delta` attribute is true, you should remove all data about that catalog from the search service before publishing a catalog release and injecting fresh data from the delta file. If the `is_full_delta` attribute is false, then data from the previous catalog overlays the existing data in the delta file. The `is_full_delta` attribute is always `true` the first time a catalog is published.\n *\n */\n export_full_delta?: boolean\n /**\n * If you are publishing a catalog in a store that contains resources from an organization, you must set this to true and you must enable the **Include Organization Resources in Catalog Publishes** checkbox in Commerce Manager. See [**Multi-Store Management Solutions**](/docs/api/pxm/catalog/publish-release).\n */\n include_organization_resources?: boolean | null\n }\n}\n\nexport type CartContact = {\n /**\n * The email address attached to a cart.\n */\n email?: string\n}\n\nexport type DiscountSettings = {\n /**\n * This parameter enables custom discounts for a cart. When set to true, Elastic Path promotions will not be applied to the new carts. Default is set from cart discount settings for the store. See [Cart Settings](/docs/api/settings/put-v-2-settings-cart).\n */\n custom_discounts_enabled?: boolean\n /**\n * When set to true, this parameter allows the cart to use rule promotions.\n */\n use_rule_promotions?: boolean\n}\n\nexport type InventorySettings = {\n /**\n * This parameter enables deferring inventory checks on the cart. This allows items to be added to or updating in the cart without checking stock levels. Inventory checks are still performed as normal on checkout\n */\n defer_inventory_check?: boolean\n}\n\n/**\n * Specifies custom attributes for cart or order objects. Each attribute includes a top-level key, as well as corresponding type and value entries. Attribute values must correspond to the assigned types.\n *\n * Example:\n * ```\n * \"custom_attributes\": {\n * \"is_member\": {\n * \"type\": \"boolean\",\n * \"value\": true\n * },\n * \"membership_level\": {\n * \"type\": \"string\",\n * \"value\": \"premium\"\n * }\n * }\n * ```\n *\n */\nexport type CustomAttributes = {\n [key: string]: unknown\n}\n\nexport type FormattedPriceData = {\n /**\n * The raw total.\n */\n amount?: number\n /**\n * The currency set for this amount.\n */\n currency?: string\n /**\n * The formatted total based on the amount and currency.\n */\n formatted?: string\n}\n\n/**\n * Relationship data entry\n */\nexport type RelationshipItem = {\n /**\n * The type of related resource.\n */\n type?: string\n /**\n * The ID of the related resource.\n */\n id?: string\n}\n\n/**\n * Array of relationships\n */\nexport type RelationshipArray = {\n /**\n * Individual relationships\n */\n data?: Array<RelationshipItem>\n}\n\nexport type CartResponse = {\n /**\n * The unique identifier for the cart. Use SDK or create it yourself.\n */\n id?: string\n /**\n * The type of object being returned.\n */\n type?: string\n /**\n * The name of this cart.\n */\n name?: string\n /**\n * A description of the cart.\n */\n description?: string\n contact?: CartContact\n discount_settings?: DiscountSettings\n inventory_settings?: InventorySettings\n /**\n * Stripe-assigned unique identifier for the linked Payment Intent\n */\n payment_intent_id?: string\n custom_attributes?: CustomAttributes\n links?: {\n /**\n * A link to that specific resource.\n */\n self?: string\n }\n meta?: {\n display_price?: {\n with_tax?: FormattedPriceData\n without_tax?: FormattedPriceData\n tax?: FormattedPriceData\n discount?: FormattedPriceData\n without_discount?: FormattedPriceData\n shipping?: FormattedPriceData\n }\n timestamps?: CartCheckoutTimestamps\n }\n relationships?: {\n customers?: RelationshipArray\n items?:\n | RelationshipArray\n | {\n data?: null\n }\n accounts?: RelationshipArray\n custom_discounts?: RelationshipArray\n promotions?: RelationshipArray\n }\n}\n\nexport type ResponsePageLinks = {\n /**\n * Always the current page.\n */\n current?: string\n /**\n * Always the first page.\n */\n first?: string\n /**\n * If there is only one page, it is `null`.\n */\n last?: string\n /**\n * If there is only one page, it is `null`.\n */\n next?: string\n /**\n * if the user is on the first page, it is `null`.\n */\n prev?: string\n}\n\nexport type ResponsePaginationPage = {\n /**\n * The current page.\n */\n current?: number\n /**\n * The maximum number of records per page for this response. You can set this value up to 100.\n */\n limit?: number\n /**\n * The current offset by number of records, not pages. Offset is zero-based.\n */\n offset?: number\n /**\n * The total page count.\n */\n total?: number\n}\n\nexport type ResponsePaginationResults = {\n /**\n * The total page count.\n */\n total?: number\n}\n\nexport type ResponseMetaCarts = {\n page?: ResponsePaginationPage\n results?: ResponsePaginationResults\n}\n\nexport type CartCollectionResponse = {\n data: Array<CartResponse>\n links?: ResponsePageLinks\n meta?: ResponseMetaCarts\n}\n\nexport type ResponseErrorItem = {\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * The HTTP response code of the error.\n */\n status: number\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n meta?: {\n /**\n * The resource id associated with the error\n */\n id?: string\n ids?: Array<string>\n item_ids?: Array<string>\n /**\n * The shipping group id associated with the error\n */\n shipping_group_id?: string\n shipping_group_ids?: Array<string>\n /**\n * The cart id associated with the error\n */\n cart_id?: string\n /**\n * The code associated with the error.\n */\n code?: string\n /**\n * The order id associated with the error.\n */\n order_id?: string\n /**\n * The value associated with the error.\n */\n value?:\n | Array<unknown>\n | Array<unknown>\n | Array<unknown>\n | Array<unknown>\n | Array<unknown>\n }\n}\n\nexport type ResponseErrorResponse = {\n errors: Array<ResponseErrorItem>\n}\n\nexport type CartsRequest = {\n data?: {\n /**\n * The cart description.\n */\n description?: string\n discount_settings?: DiscountSettings\n inventory_settings?: InventorySettings\n /**\n * The cart name provided by the shopper. A cart name must contain 1 to 255 characters. You cannot use whitespace characters, but special characters are permitted. For more information, see the [Safe Characters](/guides/Getting-Started/safe-characters) section.\n */\n name?: string\n contact?: CartContact\n /**\n * This optional parameter sets a reference date for the cart. If this parameter is set, it allows the cart to act as one that might occur on that specified date. For example, such future carts might acquire future-enabled discounts, allowing users to test and validate future interactions with carts. The snapshot_date must be in the format 2026-02-21T15:07:25Z. By default, this parameter is left empty.\n */\n snapshot_date?: string\n /**\n * Specifies custom attributes for cart objects. Each attribute includes a top-level key, as well as corresponding type and value entries. Attribute values must correspond to the assigned types.\n *\n * Attribute types include:\n * - string\n * - boolean\n * - integer\n * - float\n *\n * Multiple custom attributes may be submitted together. A cart can have a maximum of 20 custom attributes.\n *\n * Example:\n * ```\n * \"custom_attributes\": {\n * \"is_member\": {\n * \"type\": \"boolean\",\n * \"value\": true\n * },\n * \"membership_level\": {\n * \"type\": \"string\",\n * \"value\": \"premium\"\n * }\n * }\n * ```\n *\n * Updating an existing cart with new custom attributes clears previously-saved attributes. In order to maintain existing custom attributes on a cart, please include them in the update request along with any new attributes.\n *\n */\n custom_attributes?: CustomAttributes\n /**\n * To remove the Stripe payment intent from a cart, pass the empty value in the `payment_intent_id` field. You must use an empty value for this field. You cannot use this endpoint to directly update the cart to use an existing Payment Intent.\n */\n payment_intent_id?: string\n }\n}\n\nexport type CartEntityResponse = {\n data: CartResponse\n included?: CartIncluded\n}\n\n/**\n * The type of object being returned.\n */\nexport type Type = \"cart_item\"\n\nexport type CartItemObjectData = {\n /**\n * The type of object being returned.\n */\n type: \"cart_item\"\n /**\n * The number of items added to the cart.\n */\n quantity: number\n /**\n * Specifies the ID of the product you want to add to cart. (use this OR sku)\n */\n id?: string\n /**\n * Specifies the item SKU that you want to add to cart. (use this OR id)\n */\n sku?: string\n /**\n * The custom text to be added to a product.\n */\n custom_inputs?: {\n [key: string]: unknown\n }\n /**\n * Object used to describe the bundle options selected.\n */\n bundle_configuration?: {\n /**\n * Specifies selected options.\n */\n selected_options?: {\n [key: string]: unknown\n }\n /**\n * Array of component products for the selected options.\n */\n component_products?: Array<unknown>\n }\n /**\n * Identifier for a created Cart Shipping Group\n */\n shipping_group_id?: string\n /**\n * The slug of a stock location.\n */\n location?: string\n}\n\nexport type ItemPriceData = {\n /**\n * The amount for this item as an integer.\n */\n readonly amount?: number\n /**\n * The currency this item was added to the cart as.\n */\n readonly currency?: string\n /**\n * Whether or not this price is tax inclusive.\n */\n readonly includes_tax?: boolean\n}\n\nexport type CartItemFormattedPriceData = {\n /**\n * The amount per each single unit.\n */\n unit?: FormattedPriceData\n /**\n * The total amount of the item (i.e., unit * quantity).\n */\n value?: FormattedPriceData\n}\n\nexport type CartItemResponse = {\n /**\n * The unique ID of the product.\n */\n readonly product_id?: string\n /**\n * The unique ID of the subscription offering for subscription items.\n */\n readonly subscription_offering_id?: string\n /**\n * The name of this item\n */\n readonly name?: string\n /**\n * A description of the cart item.\n */\n readonly description?: string\n /**\n * The unique identifier of the catalog associated with the product is shown if catalog_source=pim is set.\n */\n readonly catalog_id?: string\n /**\n * The catalog source. Always `pim` or `legacy`.\n */\n readonly catalog_source?: string\n readonly image?: {\n /**\n * The MIME type for the uploaded file.\n */\n readonly mime_type?: string\n /**\n * The name of the image file that was uploaded.\n */\n readonly file_name?: string\n /**\n * The link to the image.\n */\n readonly href?: string\n }\n /**\n * Whether or not the quantity of the item will be checked against inventory.\n */\n readonly manage_stock?: boolean\n /**\n * The unit price of the item.\n */\n unit_price?: ItemPriceData\n /**\n * The total price of the item (i.e., unit * quantity).\n */\n value?: ItemPriceData\n readonly links?: {\n /**\n * A URL related to the resource.\n */\n product?: string\n }\n readonly meta?: {\n display_price?: {\n /**\n * The amount of this item after discounts and taxes are applied.\n */\n with_tax?: CartItemFormattedPriceData\n /**\n * The amount of this item after discounts are applied and before taxes.\n */\n without_tax?: CartItemFormattedPriceData\n /**\n * The amount of taxes applied to this item.\n */\n tax?: CartItemFormattedPriceData\n /**\n * The amount of the discount applied to this item.\n */\n discount?: CartItemFormattedPriceData\n without_discount?: CartItemFormattedPriceData\n }\n timestamps?: CartCheckoutTimestamps\n }\n}\n\nexport type CartItemObject = CartItemObjectData & CartItemResponse\n\nexport type CustomItemObjectData = {\n /**\n * The type of object being returned. Must be `custom_item`.\n */\n type: \"custom_item\"\n /**\n * The number of custom items to add to cart.\n */\n quantity: number\n price: {\n /**\n * The unit price of the custom item.\n */\n amount: number\n /**\n * Set to`true` if relevant taxes have been included in the price, `false` if not. Defaults to `true`.\n */\n includes_tax?: boolean\n }\n /**\n * A description of the custom item.\n */\n description?: string\n /**\n * The `SKU` code to use for the custom item. See [best practices](https://elasticpath.dev/docs/commerce-cloud/carts/cart-items/add-custom-item-to-cart#best-practices) to use the `SKU` code.\n */\n sku?: string\n /**\n * The name of the custom item.\n */\n name: string\n /**\n * The custom text to be added to a product.\n */\n custom_inputs?: {\n [key: string]: unknown\n }\n /**\n * Identifier for a created Cart Shipping Group\n */\n shipping_group_id?: string\n}\n\nexport type CustomItemObject = {\n data?: CustomItemObjectData\n}\n\nexport type SubscriptionItemObjectData = {\n /**\n * The type of object being returned.\n */\n type: \"subscription_item\"\n /**\n * The number of items added to the cart.\n */\n quantity: number\n /**\n * Specifies the ID of the subscription offering you want to add to cart.\n */\n id: string\n /**\n * Specifies how the subscription offering should be configured.\n */\n subscription_configuration: {\n /**\n * The ID of the pricing option within the offering to use for the subscription.\n */\n pricing_option: string\n /**\n * The ID of the plan within the offering to use for the subscription.\n */\n plan: string\n }\n}\n\nexport type SubscriptionItemObject = {\n data?: SubscriptionItemObjectData & CartItemResponse\n}\n\nexport type PromotionItemObjectData = {\n /**\n * Specifies the type of resource, which is `promotion_item`.\n */\n type: \"promotion_item\"\n /**\n * Specifies the promotion code. For more information about codes[].user[], see the [Create Promotion codes](/docs/api/promotions/create-promotion-codes) section.\n */\n code: string\n}\n\nexport type PromotionItemObject = {\n data?: PromotionItemObjectData\n}\n\nexport type CartItemsResponse = {\n data?: Array<\n | CartItemObject\n | CustomItemObject\n | SubscriptionItemObject\n | PromotionItemObject\n >\n}\n\nexport type UpdateAllOrNothingOptionsObject = {\n /**\n * When set to`true`, if an error occurs for any item, no items are updated in the cart. When set to `false`, valid items are updated in the cart and the items with errors are reported in the response. Default is `true`.\n */\n update_all_or_nothing?: boolean\n}\n\nexport type BulkUpdateCartsItems = {\n data?: Array<{\n /**\n * Specifies the ID of the cart item that you want to update in cart.\n */\n id?: string\n /**\n * Specifies the amount of items to update in the cart.\n */\n quantity?: number\n /**\n * Specifies the custom text to be added to a product. See [custom inputs](https://elasticpath.dev/docs/pxm/products/ep-pxm-products-api/update-a-product#using-custom-inputs-attribute).\n */\n custom_inputs?: {\n [key: string]: unknown\n }\n }>\n options?: UpdateAllOrNothingOptionsObject\n}\n\nexport type CartItemObjectRequest = {\n data?: CartItemObject\n}\n\nexport type CartMergeObject = {\n /**\n * The type of object being returned. Must be `cart_items`.\n */\n type: \"cart_items\"\n /**\n * The original cart to be merged from.\n */\n cart_id: string\n}\n\nexport type AddAllOrNothingOptionsObject = {\n /**\n * When `true`, if an error occurs for any item, no items are added to the cart. When `false`, valid items are added to the cart and the items with errors are reported in the response. Default is `false`.\n */\n add_all_or_nothing?: boolean\n}\n\nexport type CartMergeObjectRequest = {\n data?: CartMergeObject\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type ReOrderObject = {\n /**\n * The type of resource being returned. Use `order_items`.\n */\n type: \"order_items\"\n /**\n * The unique identifier of the order.\n */\n order_id: string\n}\n\nexport type ReOrderObjectRequest = {\n data?: ReOrderObject\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type BulkAddItemsRequest = {\n data?: Array<\n | CartItemObjectData\n | CartMergeObject\n | CustomItemObjectData\n | ReOrderObject\n | PromotionItemObjectData\n >\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type CartTimestamps = {\n created_at?: string\n updated_at?: unknown\n expires_at?: unknown\n}\n\nexport type CartsResponse = {\n data?: Array<\n | CartItemObject\n | CustomItemCartObject\n | SubscriptionItemCartObject\n | PromotionItemCartObject\n >\n meta?: {\n display_price?: {\n with_tax?: FormattedPriceData\n without_tax?: FormattedPriceData\n tax?: FormattedPriceData\n discount?: FormattedPriceData\n without_discount?: FormattedPriceData\n discounts?: {\n [key: string]: {\n amount?: number\n currency?: string\n formatted?: string\n }\n }\n }\n timestamps?: CartTimestamps\n }\n}\n\nexport type UpdateCartsItems = {\n data?: {\n /**\n * The type of the cart item.\n */\n type?: \"cart_item\"\n /**\n * The unique identifier of the cart item.\n */\n id?: string\n /**\n * The amount of products to add to cart.\n */\n quantity?: number\n /**\n * The custom text to be added to a product.\n */\n custom_inputs?: {\n [key: string]: unknown\n }\n /**\n * The unique identifier of the shipping group to be added to the cart.\n */\n shipping_group_id?: string\n }\n}\n\nexport type CartsRelationshipsAccountsData = {\n data?: Array<{\n /**\n * The ID of the account.\n */\n id?: string\n /**\n * The type of related object. Ensure that it is account.\n */\n type?: string\n }>\n}\n\nexport type CartsRelationshipsCustomersData = {\n data?: Array<{\n /**\n * The ID of the customer.\n */\n id?: string\n /**\n * The type of related object. Ensure that it is customer.\n */\n type?: string\n }>\n}\n\nexport type CartsItemsTaxesObject = {\n /**\n * A unique tax code in this jurisdiction.\n */\n code?: string\n /**\n * The relevant tax jurisdiction.\n */\n jurisdiction?: string\n /**\n * The name of the tax item.\n */\n name?: string\n /**\n * The tax rate represented as a decimal (12.5% -> 0.125). You can specify either `rate` or `amount`, but not both. Supplying both fields will result in an error.\n */\n rate?: number\n /**\n * The tax rate represented as a number ($10 -> 1000). You can specify either `rate` or `amount`, but not both. Supplying both fields will result in an error.\n */\n amount?: number\n /**\n * The type of object being returned. Use `tax_item`.\n */\n type: string\n /**\n * The unique identifier for this tax item.\n */\n readonly id?: string\n}\n\nexport type CartItemTaxesEntityResponse = {\n data: CartsItemsTaxesObject\n}\n\nexport type CartItemRelationship = {\n relationships?: {\n order?: {\n data?: {\n /**\n * This specifies the type of item.\n */\n type?: string\n /**\n * This specifies the ID of the cart_item or custom_item in the cart.\n */\n id?: string\n }\n }\n }\n}\n\nexport type CartsBulkTaxes = {\n data?: Array<CartsItemsTaxesObject & CartItemRelationship>\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type CartsCustomDiscountsObject = {\n amount:\n | number\n | {\n amount?: number\n currency?: string\n formatted?: string\n }\n /**\n * Specifies a description for the custom discount.\n */\n description: string\n /**\n * Specifies the discount code used for the custom discount.\n */\n discount_code: string\n /**\n * Specifies from where the custom discount is applied. For example, Talon.one.\n */\n discount_engine: string\n /**\n * Specifies an external id for the custom discount.\n */\n external_id: string\n /**\n * Specifies the type of the resource. Always `custom_discount`.\n */\n type: string\n}\n\nexport type CustomDiscountRelationshipsCartItemRequest = {\n relationships?: {\n item?: {\n data?: {\n /**\n * Specifies the type of item. For example, `custom_item` or `cart_item`.\n */\n type?: string\n /**\n * Specifies the unique identifier of the `cart_item` or `custom_item` in the cart.\n */\n id?: string\n }\n }\n }\n}\n\nexport type CartItemBulkCustomDiscountObject = CartsCustomDiscountsObject &\n CustomDiscountRelationshipsCartItemRequest\n\nexport type CartsBulkCustomDiscounts = {\n data?: Array<CartsCustomDiscountsObject & CartItemBulkCustomDiscountObject>\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type CartsBulkCustomDiscountsResponse = {\n data?: CartsCustomDiscountsObject\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type CartsBulkCustomDiscountsCollectionResponse = {\n data?: Array<CartsCustomDiscountsObject>\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type CartsCustomDiscountsResponseObject = {\n amount?: {\n /**\n * Specifies an amount to be applied for the custom discount. It must be less than zero.\n */\n amount?: number\n /**\n * The currency set for the custom discount.\n */\n currency?: string\n /**\n * The formatted value for the custom discount.\n */\n formatted?: string\n }\n /**\n * Specifies a description for the custom discount.\n */\n description?: string\n /**\n * Specifies the discount code used for the custom discount.\n */\n discount_code?: string\n /**\n * Specifies from where the custom discount is applied. For example, Talon.one.\n */\n discount_engine?: string\n /**\n * Specifies an external id for the custom discount.\n */\n external_id?: string\n /**\n * Specifies the type of the resource. Always `custom_discount`.\n */\n type?: string\n /**\n * Specifies the UUID of the custom discount.\n */\n readonly id?: string\n}\n\nexport type CartsCustomDiscountsEntityRequest = {\n data?: CartsCustomDiscountsResponseObject\n}\n\nexport type CartsCustomDiscountsEntityResponse = {\n data?: CartsCustomDiscountsObject\n}\n\nexport type CartsCustomDiscountsCollectionResponse = {\n data?: Array<CartsCustomDiscountsObject>\n}\n\nexport type ShippingAddress = {\n /**\n * First name of the shipping recipient.\n */\n first_name: string\n /**\n * Last name of the shipping recipient.\n */\n last_name: string\n /**\n * Phone number of the shipping recipient.\n */\n phone_number: string\n /**\n * Company of the shipping recipient.\n */\n company_name: string\n /**\n * First line of the shipping address.\n */\n line_1: string\n /**\n * Second line of the shipping address.\n */\n line_2: string\n /**\n * City of the shipping address.\n */\n city: string\n /**\n * Post code of the shipping address.\n */\n postcode: string\n /**\n * County of the shipping address.\n */\n county: string\n /**\n * Country of the shipping address.\n */\n country: string\n /**\n * State, province, or region of the shipping address.\n */\n region?: string\n /**\n * Delivery instructions.\n */\n instructions: string\n}\n\nexport type DeliveryEstimate = {\n start?: Date\n end?: Date\n}\n\nexport type Money = {\n /**\n * Amount in minor currency units (e.g., cents).\n */\n amount: number\n /**\n * ISO 4217 currency code (e.g., \"USD\").\n */\n currency: string\n /**\n * Whether the amount includes tax.\n */\n includes_tax: boolean\n}\n\nexport type Discount = {\n amount: Money\n /**\n * The discount code used, if applicable.\n */\n code?: string\n /**\n * Unique identifier for the discount.\n */\n id: string\n /**\n * The source or origin of the promotion, if applicable.\n */\n promotion_source?: string\n /**\n * Indicates whether the discount applies to the entire cart.\n */\n is_cart_discount?: boolean\n /**\n * Order in which the discount was applied.\n */\n ordinal?: number\n}\n\nexport type Discounts = Array<Discount>\n\nexport type ShippingPriceResponse = {\n total: FormattedPriceData\n base: FormattedPriceData\n tax?: FormattedPriceData\n fees?: FormattedPriceData\n discount?: FormattedPriceData\n}\n\nexport type OrderPriceWrapperMeta = {\n with_tax: FormattedPriceData\n without_tax: FormattedPriceData\n tax: FormattedPriceData\n discount: FormattedPriceData\n balance_owing: FormattedPriceData\n paid: FormattedPriceData\n authorized: FormattedPriceData\n without_discount: FormattedPriceData\n shipping: FormattedPriceData\n shipping_discount: FormattedPriceData\n}\n\nexport type ShippingGroupMeta = {\n shipping_display_price?: ShippingPriceResponse\n total_display_price?: OrderPriceWrapperMeta\n}\n\nexport type ShippingGroupResponse = {\n type?: \"shipping_group\"\n id?: string\n relation?: string\n cart_id?: string\n order_id?: string\n shipping_type?: string\n tracking_reference?: string\n address?: ShippingAddress\n delivery_estimate?: DeliveryEstimate\n createdAt?: Date\n updatedAt?: Date\n relationships?: {\n cart?: RelationshipItem\n order?: RelationshipItem\n }\n discounts?: Discounts\n meta?: ShippingGroupMeta\n}\n\nexport type ShippingPriceRequest = {\n total?: number\n base?: number\n tax?: number\n fees?: number\n discount?: number\n}\n\nexport type CreateShippingGroupRequest = {\n data?: {\n type?: \"shipping_group\"\n shipping_type?: string\n tracking_reference?: string\n shipping_price?: ShippingPriceRequest\n address?: ShippingAddress\n includes_tax?: boolean\n delivery_estimate?: DeliveryEstimate\n }\n}\n\nexport type UpdateCartShippingGroupRequest = {\n data?: {\n type?: \"shipping_group\"\n shipping_type?: string\n tracking_reference?: string\n shipping_price?: ShippingPriceRequest\n address?: ShippingAddress\n includes_tax?: boolean\n delivery_estimate?: DeliveryEstimate\n }\n}\n\nexport type Gateway =\n | \"adyen\"\n | \"authorize_net\"\n | \"braintree\"\n | \"card_connect\"\n | \"cyber_source\"\n | \"elastic_path_payments_stripe\"\n | \"manual\"\n | \"paypal_express_checkout\"\n | \"stripe\"\n | \"stripe_connect\"\n | \"stripe_payment_intents\"\n\n/**\n * Specifies the transaction method, such as `purchase` or `authorize`.\n */\nexport type Method =\n | \"authorize\"\n | \"purchase\"\n | \"purchase_setup\"\n | \"authorize_setup\"\n\nexport type DataBasePayments = {\n gateway:\n | \"adyen\"\n | \"authorize_net\"\n | \"braintree\"\n | \"card_connect\"\n | \"cyber_source\"\n | \"elastic_path_payments_stripe\"\n | \"manual\"\n | \"paypal_express_checkout\"\n | \"stripe\"\n | \"stripe_connect\"\n | \"stripe_payment_intents\"\n /**\n * Specifies the transaction method, such as `purchase` or `authorize`.\n */\n method: \"authorize\" | \"purchase\" | \"purchase_setup\" | \"authorize_setup\"\n /**\n * The amount to be paid for the transaction.\n */\n amount?: number\n}\n\nexport type ElasticPathPaymentsPoweredByStripePayment = {\n data?: DataBasePayments & {\n /**\n * Specifies the gateway. You must use `elastic_path_payments_stripe`.\n */\n gateway?: \"elastic_path_payments_stripe\"\n options?: {\n /**\n * Provides the email address to which you want to send the Stripe receipts for the transactions within the store. This feature is available only in the live mode.\n */\n receipt_email?: string\n /**\n * Parent object determining whether to use Stripe's `automatic_payment_methods` setting.\n */\n automatic_payment_methods?: {\n /**\n * When set to true, it displays all enabled payment methods from the Stripe dashboard. When set to false, the Stripe default, which is card, is used.\n */\n enabled?: boolean\n }\n }\n /**\n * Specifies the Stripe payment method types configured for the store. See [Stripe Documentation](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-payment_method_types).\n */\n payment_method_types?: Array<string>\n /**\n * Specifies the Stripe token or source.\n */\n payment?: string\n }\n}\n\nexport type CartPaymentUpdate = {\n data: {\n gateway: string\n method: string\n payment_method_types: Array<string>\n amount: number\n options?: {\n [key: string]: unknown\n }\n }\n}\n\nexport type BillingAddress = {\n /**\n * First name of the billing recipient.\n */\n first_name: string\n /**\n * Last name of the billing recipient.\n */\n last_name: string\n /**\n * Company name of the billing recipient.\n */\n company_name: string\n /**\n * First line of the billing address.\n */\n line_1: string\n /**\n * Second line of the billing address.\n */\n line_2: string\n /**\n * City of the billing address.\n */\n city: string\n /**\n * Postcode of the billing address.\n */\n postcode: string\n /**\n * County of the billing address.\n */\n county: string\n /**\n * Country of the billing address.\n */\n country: string\n /**\n * State, province, or region of the billing address.\n */\n region?: string\n}\n\nexport type CustomerCheckout = {\n data?: {\n /**\n * A user-managed, optional field used as an alternative to the existing `order_id`. If provided, the order-number will be sent to Authorize.net instead of the `order_id`, and will appear as the invoice number in Authorize.net transactions.\n */\n order_number?: string\n /**\n * An optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n customer?: {\n /**\n * The ID of the customer.\n */\n id?: string\n /**\n * The email of the customer.\n */\n email?: string\n /**\n * The name of the customer.\n */\n name?: string\n }\n billing_address?: BillingAddress\n shipping_address?: ShippingAddress\n }\n}\n\nexport type AccountCheckout = {\n data?: {\n /**\n * A user-managed, optional field used as an alternative to the existing `order_id`. If provided, the order-number will be sent to Authorize.net instead of the `order_id`, and will appear as the invoice number in Authorize.net transactions.\n */\n order_number?: string\n /**\n * An optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n account?: {\n /**\n * The account ID.\n */\n id?: string\n /**\n * The account member ID.\n */\n member_id?: string\n }\n contact?: {\n /**\n * The name of the account member.\n */\n name?: string\n /**\n * The email address of the account member.\n */\n email?: string\n }\n billing_address?: BillingAddress\n shipping_address?: ShippingAddress\n }\n}\n\nexport type OrderMeta = {\n timestamps?: CartCheckoutTimestamps\n display_price?: {\n with_tax?: FormattedPriceData\n without_tax?: FormattedPriceData\n tax?: FormattedPriceData\n discount?: FormattedPriceData\n balance_owing?: FormattedPriceData\n paid?: FormattedPriceData\n authorized?: FormattedPriceData\n without_discount?: FormattedPriceData\n shipping?: FormattedPriceData\n shipping_discount?: FormattedPriceData\n }\n}\n\nexport type Contact = {\n /**\n * The email address of the contact.\n */\n email?: string\n /**\n * The name of the contact.\n */\n name?: string\n}\n\n/**\n * Single relationship\n */\nexport type SingleRelationship = {\n data?: RelationshipItem\n}\n\n/**\n * Specifies the status of the order, such as `incomplete`, `complete`, `processing`, or `cancelled`.\n */\nexport type Status = \"complete\" | \"incomplete\" | \"cancelled\" | \"processing\"\n\n/**\n * Specifies the status of the payment, such as `unpaid`, `authorized`, `paid`, or `refunded`.\n */\nexport type Payment =\n | \"authorized\"\n | \"paid\"\n | \"unpaid\"\n | \"refunded\"\n | \"partially_paid\"\n | \"partially_authorized\"\n\n/**\n * Specifies the status of the shipment, such as `fulfilled` or `unfulfilled`.\n */\nexport type Shipping = \"unfulfilled\" | \"fulfilled\"\n\nexport type OrderResponse = {\n /**\n * Specifies the type of object being returned. You must use `order`.\n */\n type?: \"order\"\n /**\n * Specifies a user-managed, optional field used as an alternative to the existing `order_id`. If provided, the order-number will be sent to Authorize.net instead of the `order_id`, and will appear as the invoice number in Authorize.net transactions.\n */\n order_number?: string\n /**\n * An optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n /**\n * Specifies the unique identifier of the order.\n */\n readonly id?: string\n /**\n * Specifies the status of the order, such as `incomplete`, `complete`, `processing`, or `cancelled`.\n */\n status?: \"complete\" | \"incomplete\" | \"cancelled\" | \"processing\"\n /**\n * Specifies the status of the payment, such as `unpaid`, `authorized`, `paid`, or `refunded`.\n */\n payment?:\n | \"authorized\"\n | \"paid\"\n | \"unpaid\"\n | \"refunded\"\n | \"partially_paid\"\n | \"partially_authorized\"\n /**\n * Specifies the status of the shipment, such as `fulfilled` or `unfulfilled`.\n */\n shipping?: \"unfulfilled\" | \"fulfilled\"\n /**\n * Specifies if the order is anonymized.\n */\n anonymized?: boolean\n /**\n * Stripe Payment Intent ID. Please see Stripe's Payment Intent [documentation](https://docs.stripe.com/api/payment_intents) for more information on Payment Intents.\n */\n payment_intent_id?: string\n custom_attributes?: CustomAttributes\n meta?: OrderMeta\n billing_address?: BillingAddress\n contact?: Contact\n customer?: Contact\n shipping_address?: ShippingAddress\n relationships?: {\n items?: RelationshipArray\n custom_discounts?: RelationshipArray\n promotions?: RelationshipArray\n customer?: SingleRelationship\n account?: SingleRelationship\n account_member?: SingleRelationship\n }\n}\n\nexport type OrderEntityResponse = {\n data?: OrderResponse\n included?: OrderIncluded\n}\n\nexport type ResponseMetaOrders = {\n page?: ResponsePaginationPage\n results?: ResponsePaginationResults\n}\n\nexport type OrderCollectionResponse = {\n data?: Array<OrderResponse>\n links?: ResponsePageLinks\n meta?: ResponseMetaOrders\n included?: OrdersIncluded\n}\n\nexport type OrdersAddressData = {\n /**\n * Specifies a user-managed, optional field used as an alternative to the existing order_id. If provided, the order-number will be sent to Authorize.net instead of the order_id, and will appear as the invoice number in Authorize.net transactions.\n */\n order_number?: string\n /**\n * Represents an optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n shipping_address: {\n /**\n * Specifies the first name of the address holder.\n */\n first_name?: string\n /**\n * Specifies the last name of the address holder.\n */\n last_name?: string\n /**\n * Specifies the phone number of the address holder.\n */\n phone_number?: string\n /**\n * Specifies the company name.\n */\n company_name?: string\n /**\n * Specifies the first line of the address.\n */\n line_1?: string\n /**\n * Specifies the second line of the address.\n */\n line_2?: string\n /**\n * Specifies the name of the city in the shipping address.\n */\n city?: string\n /**\n * Specifies the county of the shipping address.\n */\n county?: string\n /**\n * Specifies the state, province, or region of the shipping address.\n */\n region?: string\n /**\n * Specifies the postcode or ZIP code of the address.\n */\n postcode?: string\n /**\n * Specifies the country in the shipping address.\n */\n country?: string\n /**\n * Specifies any instructions provided with the shipping address.\n */\n instructions?: string\n }\n}\n\nexport type OrdersCancelData = {\n /**\n * The status of the order. You can only update the status to `cancelled`.\n */\n status: string\n /**\n * The type of the resource. You must use order.\n */\n type: string\n /**\n * Represents an optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n}\n\nexport type OrdersFulfilledData = {\n /**\n * The shipping status of the order. You can only update the shipping status to `fulfilled`.\n */\n shipping: string\n /**\n * The type of the resource. You must use order.\n */\n type: string\n /**\n * Represents an optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n}\n\nexport type OrdersUpdateRequest = {\n data?: OrdersAddressData | OrdersCancelData | OrdersFulfilledData\n}\n\nexport type OrderPriceData = {\n /**\n * The amount for this item.\n */\n amount?: number\n /**\n * The currency this item.\n */\n currency?: string\n /**\n * Whether this price is tax inclusive.\n */\n includes_tax?: boolean\n}\n\nexport type DiscountData = {\n amount?: OrderPriceData\n code?: string\n readonly id?: string\n}\n\nexport type OrderItemFormattedUnitPriceData = {\n unit?: FormattedPriceData\n value?: FormattedPriceData\n}\n\nexport type OrderItemResponse = {\n /**\n * The type represents the object being returned.\n */\n type?: string\n /**\n * The unique identifier for this order item.\n */\n readonly id?: string\n /**\n * The quantity of this item were ordered.\n */\n quantity?: number\n /**\n * The unique identifier for this order item.\n */\n readonly product_id?: string\n /**\n * The unique identifier for the subscription offering for this order item.\n */\n readonly subscription_offering_id?: string\n /**\n * The name of this order item.\n */\n name?: string\n /**\n * The SKU code for the order item.\n */\n sku?: string\n unit_price?: OrderPriceData\n value?: OrderPriceData\n discounts?: Array<DiscountData>\n links?: {\n [key: string]: unknown\n }\n meta?: {\n display_price?: {\n with_tax?: OrderItemFormattedUnitPriceData\n without_tax?: OrderItemFormattedUnitPriceData\n tax?: OrderItemFormattedUnitPriceData\n discount?: OrderItemFormattedUnitPriceData\n without_discount?: OrderItemFormattedUnitPriceData\n discounts?: {\n [key: string]: {\n amount?: number\n currency?: string\n formatted?: string\n }\n }\n }\n timestamps?: CartCheckoutTimestamps\n }\n relationships?: {\n cart_item?: {\n data?: {\n /**\n * The type represents the object being returned.\n */\n type?: string\n /**\n * The unique identifier for this item.\n */\n readonly id?: string\n }\n }\n }\n /**\n * The unique identifier of the catalog associated with the product is shown if `catalog_source=pim` is set.\n */\n catalog_id?: string\n /**\n * The catalog source. Always `pim` or `legacy`.\n */\n catalog_source?: string\n}\n\nexport type OrderItemCollectionResponse = {\n data?: Array<OrderItemResponse>\n}\n\nexport type OrdersAnonymizeData = {\n /**\n * The unique identifiers of the orders to be anonymized. You can anonymize multiple orders at the same time.\n */\n order_ids?: Array<string>\n}\n\nexport type OrdersAnonymizeRequest = {\n data?: OrdersAnonymizeData\n}\n\nexport type OrdersListResponse = {\n data: Array<OrderResponse>\n}\n\nexport type DataAdyenPayment = DataBasePayments & {\n /**\n * Specifies the gateway. You must use `adyen`.\n */\n gateway: \"adyen\"\n options?: {\n /**\n * The shopper reference token associated with the saved payment method.\n */\n shopper_reference?: string\n /**\n * Enter CardOnFile for a one-time purchase.\n */\n recurring_processing_model?: string\n }\n /**\n * The Adyen recurringDetailReference payment method identifier.\n */\n payment: string\n}\n\nexport type DataAuthorizeNetPayment = DataBasePayments & {\n /**\n * Specifies the gateway. You must use `authorize_net`.\n */\n gateway: \"authorize_net\"\n options?: {\n /**\n * The Authorize.net customer payment profile ID.\n */\n customer_payment_profile_id?: string\n }\n /**\n * The Authorize.net customer profile ID.\n */\n payment: string\n}\n\nexport type DataBraintreePayment = DataBasePayments & {\n /**\n * Specifies the gateway. You must use `braintree`.\n */\n gateway: \"braintree\"\n /**\n * The Braintree Customer ID that you want to bill.\n */\n payment: string\n}\n\nexport type DataCardConnectPayment = DataBasePayments & {\n /**\n * Specifies the gateway. You must use `card_connect`.\n */\n gateway: \"card_connect\"\n /**\n * Enter account_id, profile_id from CardPointe API. For example, 1|16178397535388255208.\n */\n payment: string\n}\n\nexport type DataCyberSourcePayment = DataBasePayments & {\n /**\n * Specifies the gateway. You must use `cyber_source`.\n */\n gateway: \"cyber_source\"\n /**\n * The CyberSource token.\n */\n payment: string\n}\n\nexport type DataManualPayment = DataBasePayments & {\n /**\n * Specifies the type of payment gateway. You must use `manual`.\n */\n gateway: \"manual\"\n paymentmethod_meta?: {\n /**\n * A reference associated with the payment method. This might include loyalty points or gift card identifiers. We recommend not to include personal information in this field.\n */\n custom_reference?: string\n /**\n * A custom name associated with the payment method.\n */\n name?: string\n }\n}\n\nexport type DataPayPalExpressCheckoutPayment = DataBasePayments & {\n /**\n * Specifies the type of payment gateway. You must use `paypal_express_checkout`.\n */\n gateway: \"paypal_express_checkout\"\n options?: {\n /**\n * The description for the payment.\n */\n description?: string\n /**\n * The descriptor appended to PayPal generated descriptor that is visible on the card statement of the payer.\n */\n soft_descriptor?: string\n application_context?: {\n /**\n * The label that overrides the business name in the PayPal account on the PayPal site.\n */\n brand_name?: string\n /**\n * The locale pages that appear based on language and country code. PayPal supports a five-character code. For example, ja-JP.\n */\n locale?: string\n /**\n * The type of landing page to show on the PayPal site for customer checkout. Use values LOGIN, BILLING, or NO_PREFERENCE.\n */\n landing_page?: string\n /**\n * The shipping preference. Use SET_PROVIDED_ADDRESS value. This parameter does allow the user to change their address on PayPal site.\n */\n shipping_preference?: string\n /**\n * If you set `useraction=commit` in the query string, the flow redirects the buyer to the PayPal payment page and displays a Pay Now button. When the shopper clicks **Pay Now**, call `DoExpressCheckoutPayment` to complete the payment without additional interaction from the shopper. Choose this flow when you know the final payment amount when you initiate the checkout flow.\n */\n user_action?: string\n /**\n * The callback URL for PayPal to redirect the user in the case of approved payment.\n */\n return_url?: string\n /**\n * The callback URL for PayPal to redirect user in the case a cancelled payment.\n */\n cancel_url?: string\n }\n }\n}\n\nexport type DataStripePayment = DataBasePayments & {\n /**\n * Specifies the type of payment gateway. You must use `stripe`.\n */\n gateway: \"stripe\"\n options?: {\n /**\n * The option to provide an email for Stripe receipts. Specify live mode to access this feature.\n */\n receipt_email?: string\n }\n /**\n * The Stripe token or source.\n */\n payment?: string\n}\n\nexport type DataStripeConnectPayment = DataBasePayments & {\n /**\n * Specifies the type of payment gateway. You must use `stripe_connect`.\n */\n gateway: \"stripe_connect\"\n options?: {\n /**\n * Provides the email address to which you want to send the Stripe receipts for the transactions within the store. This feature is available only in the live mode.\n */\n receipt_email?: string\n }\n /**\n * Specifies the Stripe token or source.\n */\n payment?: string\n}\n\nexport type DataStripePaymentIntentsPayment = DataBasePayments & {\n /**\n * Specifies the type of payment gateway. You must use `stripe_payment_intents`.\n */\n gateway: \"stripe_payment_intents\"\n options?: {\n /**\n * Provides the email address to which you want to send the Stripe receipts for the transactions within the store. This feature is available only in the live mode.\n */\n receipt_email?: string\n }\n /**\n * Specifies the Stripe token or source.\n */\n payment?: string\n}\n\nexport type DataPaymentObject =\n | DataAdyenPayment\n | DataAuthorizeNetPayment\n | DataBraintreePayment\n | DataCardConnectPayment\n | DataCyberSourcePayment\n | ElasticPathPaymentsPoweredByStripePayment\n | DataManualPayment\n | DataPayPalExpressCheckoutPayment\n | DataStripePayment\n | DataStripeConnectPayment\n | DataStripePaymentIntentsPayment\n\nexport type PaymentsRequest = {\n data?: DataPaymentObject\n}\n\nexport type TransactionResponse = {\n /**\n * The ID of the transaction.\n */\n readonly id?: string\n /**\n * The payment gateway reference.\n */\n reference?: string\n /**\n * A custom name associated with the payment method.\n */\n name?: string\n /**\n * A reference associated with the payment method. This might include loyalty points or gift card identifiers. We recommend you not to include personal information in this field.\n */\n custom_reference?: string\n /**\n * The name of the payment gateway used.\n */\n gateway?:\n | \"adyen\"\n | \"authorize_net\"\n | \"braintree\"\n | \"card_connect\"\n | \"cyber_source\"\n | \"elastic_path_payments_stripe\"\n | \"manual\"\n | \"paypal_express_checkout\"\n | \"stripe\"\n | \"stripe_connect\"\n | \"stripe_payment_intents\"\n | \"stripe_platform_account\"\n /**\n * The amount for this transaction.\n */\n amount?: number\n /**\n * The refunded amount.\n */\n refunded_amount?: number\n /**\n * The transaction currency.\n */\n currency?: string\n /**\n * The type of transaction, such as `purchase`, `capture`, `authorize` or `refund`.\n */\n \"transaction-type\"?: string\n /**\n * The status provided by the gateway for this transaction, such as `complete` or `failed`.\n */\n status?: string\n relationships?: {\n order?: {\n data?: {\n /**\n * Represents the type of the object being returned. It is always `order`.\n */\n type?: string\n /**\n * The ID of the order.\n */\n id?: string\n }\n }\n }\n meta?: {\n display_price?: FormattedPriceData\n display_refunded_amount?: FormattedPriceData\n timestamps?: CartCheckoutTimestamps\n }\n}\n\nexport type TransactionEntityResponse = {\n data: TransactionResponse\n}\n\nexport type OrdersTransactionsConfirmRequest = {\n data?: {\n [key: string]: unknown\n }\n}\n\nexport type OrdersTransactionsCaptureRequest = {\n data?: {\n options?: {\n soft_descriptor?: string\n note_to_payer?: string\n }\n }\n}\n\nexport type OrdersTransactionsRefundRequest = {\n data?: {\n /**\n * The amount value to be refunded. If this field is not provided, it will be considered as manual refund (Mark as Refunded) and the refund process must be manually handled via payment provider. If the amount value is same as payment value, then it will be treated as a full refund and sent to the payment provider to process refund automatically.\n */\n amount?: number\n options?: {\n /**\n * Provides comments about the refund. It is used by PayPal Express.\n */\n note?: string\n }\n }\n}\n\nexport type TransactionListResponse = {\n data: Array<TransactionResponse>\n}\n\nexport type ResponseData = {\n data?: unknown\n}\n\nexport type OrdersTransactionsCancelRequest = {\n data?: {\n options?: {\n [key: string]: unknown\n }\n /**\n * Specifies the reason for canceling the transaction. The reason may include `duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned`.\n */\n reason?: string\n }\n}\n\nexport type UpdateOrderShippingGroupRequest = {\n data?: {\n type?: \"shipping_group\"\n shipping_type?: string\n tracking_reference?: string\n address?: ShippingAddress\n delivery_estimate?: DeliveryEstimate\n }\n}\n\nexport type CartCheckoutTimestamps = {\n /**\n * The date this was created.\n */\n created_at?: string\n /**\n * The date this was last updated.\n */\n updated_at?: unknown\n}\n\nexport type CartIncludedPromotion = {\n /**\n * The unique identifier of the promotion.\n */\n id: string\n /**\n * The name of the promotion.\n */\n name: string\n /**\n * A description of the promotion.\n */\n description?: string\n /**\n * Indicates if the promotion is automatic.\n */\n automatic: boolean\n /**\n * The source of the promotion.\n */\n promotion_source: string\n /**\n * The start date and time of the promotion.\n */\n start: Date\n /**\n * The end date and time of the promotion.\n */\n end: Date\n}\n\nexport type SubscriptionItemCartObject = SubscriptionItemObjectData &\n CartItemResponse\n\nexport type PromotionItemCartObject = PromotionItemObjectData &\n CartItemResponse & {\n /**\n * The unique identifier of the promotion item.\n */\n id?: string\n }\n\nexport type CustomItemCartObject = CustomItemObjectData &\n CartItemResponse & {\n /**\n * The unique identifier of the custom item.\n */\n id?: string\n }\n\n/**\n * Included is an array of resources that are included in the response.\n */\nexport type CartIncluded = {\n /**\n * The cart items associated with a cart.\n */\n items?: Array<\n | CartItemObject\n | CustomItemCartObject\n | SubscriptionItemCartObject\n | PromotionItemCartObject\n >\n /**\n * The tax items associated with a cart.\n */\n tax_items?: Array<CartsItemsTaxesObject>\n /**\n * The custom discounts associated with a cart.\n */\n custom_discounts?: Array<CartsCustomDiscountsObject>\n /**\n * The promotions associated with a cart.\n */\n promotions?: Array<CartIncludedPromotion>\n}\n\n/**\n * Included is an array of resources that are included in the response.\n */\nexport type OrdersIncluded = {\n /**\n * The order items associated with an order.\n */\n items?: Array<OrderItemResponse>\n}\n\n/**\n * Included is an array of resources that are included in the response.\n */\nexport type OrderIncluded = {\n /**\n * The order items associated with an order.\n */\n items?: Array<OrderItemResponse>\n}\n\n/**\n * Whether a pricing option is active on a subscription using that offering. The `active_pricing_option` attribute is null if a pricing option is not active in a subscription.\n */\nexport type ActivePricingOption = boolean\n\n/**\n * Whether a plan is active on a subscription using that offering. The `active_plan` attribute is null if a plan is not active in a subscription.\n */\nexport type ActivePlan = boolean\n\n/**\n * A unique attribute that you could use to contain information from another company system, for example. The maximum length is 2048 characters.\n */\nexport type ExternalRef = string\n\n/**\n * A unique attribute that you could use to contain information from another company system, for example. The maximum length is 2048 characters.\n */\nexport type ExternalRefUpdate = string | null\n\nexport type SubscriptionType = \"subscription\"\n\nexport type ProrationPolicyType = \"subscription_proration_policy\"\n\nexport type SubscriptionDunningRuleType = \"subscription_dunning_rule\"\n\nexport type SubscriptionFeatureType = \"subscription_feature\"\n\nexport type SubscriptionOfferingType = \"subscription_offering\"\n\nexport type SubscriptionOfferingFeatureType = \"subscription_offering_feature\"\n\nexport type SubscriptionOfferingPlanType = \"subscription_offering_plan\"\n\nexport type SubscriptionOfferingPricingOptionType =\n \"subscription_offering_pricing_option\"\n\nexport type SubscriptionJobType = \"subscription_job\"\n\nexport type SubscriptionImportType = \"subscription_import\"\n\nexport type SubscriptionImportErrorType = \"subscription_import_error\"\n\nexport type SubscriptionImportError = {\n id: SubscriptionsUuid\n type: SubscriptionImportErrorType\n meta: SubscriptionImportErrorMeta\n}\n\nexport type SubscriptionImportErrorMeta = {\n owner: string\n timestamps: SubscriptionsTimestamps\n error: string\n field: string\n /**\n * The line in the imported JSONL file at which the validation error occurred. Starts from 1.\n */\n line_number: number\n external_ref?: ExternalRef\n}\n\n/**\n * This represents the type of resource object being returned. Always `subscription_invoice`.\n */\nexport type SubscriptionInvoiceType = \"subscription_invoice\"\n\n/**\n * This represents the type of resource object being returned. Always `subscription_invoice_payment`.\n */\nexport type SubscriptionInvoicePaymentType = \"subscription_invoice_payment\"\n\nexport type Links2 = {\n [key: string]: Link\n}\n\nexport type Link = LinkUri | LinkObject\n\nexport type LinkUri = string | null\n\nexport type LinkObject = {\n href?: string\n title?: string\n describedby?: string\n}\n\n/**\n * The status of a subscription, either `active` or `inactive`.\n */\nexport type Status2 = \"active\" | \"inactive\"\n\n/**\n * Enumerates a list of resources that are related.\n */\nexport type RelationshipsRequest = {\n data: Array<RelationshipData>\n}\n\n/**\n * Relationships are established between different subscription entities. For example, a plan and a pricing option are related to an offering, as both are attached to it.\n */\nexport type Relationships = unknown\n\nexport type Relationship = SubscriptionsSingleRelationship | ManyRelationship\n\n/**\n * The list of resources that are related.\n */\nexport type ManyRelationship = {\n data?: Array<RelationshipData>\n links?: RelationshipLinks\n}\n\nexport type RelationshipData = {\n id: SubscriptionsUuid\n /**\n * This represents the type of resource being returned.\n */\n type: string\n}\n\n/**\n * Links are used to allow you, as an API consumer, to move between requests. Single entities use a self parameter with a link to that specific resource. Sometimes, there aren’t enough entities for a project to fill multiple pages. In this situation, we return some defaults, instead of expecting you to check for these special cases.\n *\n * - current - Always the current page.\n * - first - Always the first page.\n * - last - always `null`.\n * - next - `null` if the user is on the first page.\n * - previous - `null` if there is only one page.\n *\n */\nexport type RelationshipLinks = {\n related?: string\n}\n\n/**\n * A period of time between a start and end point.\n */\nexport type TimePeriod = {\n /**\n * The date and time a billing period started.\n */\n start: Date\n /**\n * The date and time a billing period ended.\n */\n end: Date\n}\n\n/**\n * A price in a single currency.\n */\nexport type SingleCurrencyPrice = {\n /**\n * The three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in uppercase, associated with a price.\n */\n currency: string\n /**\n * The value as a whole number of the currency's smallest subdivision.\n */\n amount: BigInt\n /**\n * Whether the amount includes any taxes.\n */\n includes_tax?: boolean\n}\n\n/**\n * A unit of time.\n */\nexport type Unit = \"day\" | \"month\"\n\n/**\n * The timeframe during which the plan price is applicable. For example, for a streaming service, the price is $12.99 and the `unit` is `months` and the `amount` is `1`. In other words, the streaming service is available for $12.99 a month. You may want to specify a unit price if you have many plans that all have different prices. Rather than having to create separate pricing options for each plan, you can specify the timeframe during which the plan price is applicable and then create one pricing option that determines the billing frequency for those plans.\n */\nexport type PriceUnits = {\n /**\n * A unit of time.\n */\n unit: \"day\" | \"month\"\n /**\n * The number of days or months the period covers.\n */\n amount: number\n}\n\n/**\n * The timeframe during which the plan price is applicable. For example, for a streaming service, the price is $12.99 and the `unit` is `months` and the `amount` is `1`. In other words, the streaming service is available for $12.99 a month. You may want to specify a unit price if you have many plans that all have different prices. Rather than having to create separate pricing options for each plan, you can specify the timeframe during which the plan price is applicable and then create one pricing option that determines the billing frequency for those plans.\n */\nexport type NullablePriceUnits = {\n /**\n * A unit of time, either days or months.\n */\n unit: \"day\" | \"month\"\n /**\n * The number of days or months the period covers.\n */\n amount: number\n} | null\n\nexport type Price = unknown\n\nexport type NullablePrice = {\n [key: string]: {\n /**\n * The value as a whole number of the currency's smallest subdivision.\n */\n amount: BigInt\n /**\n * Whether the amount includes any taxes.\n */\n includes_tax?: boolean\n } | null\n} | null\n\n/**\n * A list of plan prices for each of its pricing options.\n */\nexport type OfferingPlanPrices = {\n [key: string]: OfferingPlanPriceForPricingOption\n}\n\nexport type OfferingPlanPriceForPricingOption = {\n price?: Price\n display_price?: DisplayPrice2\n}\n\nexport type DisplayPrice2 = {\n without_tax?: PriceFormatting\n with_tax?: PriceFormatting\n}\n\nexport type PriceFormatting = {\n /**\n * The unformatted amount for the objects.\n */\n amount: BigInt\n /**\n * The three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in uppercase, associated with a price.\n */\n currency: string\n /**\n * The formatted amount for the objects.\n */\n formatted: string\n}\n\nexport type Feature = {\n id?: SubscriptionsUuid\n type: SubscriptionFeatureType\n attributes: FeatureResponseAttributes\n meta: FeatureMeta\n}\n\nexport type FeatureMeta = {\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type FeatureCreate = {\n type: SubscriptionFeatureType\n attributes: FeatureAttributes\n}\n\nexport type FeatureUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionFeatureType\n attributes: FeatureUpdateAttributes\n}\n\nexport type OfferingFeatureCreate = {\n type: SubscriptionOfferingFeatureType\n attributes: FeatureAttributes\n}\n\nexport type FeatureResponseAttributes = FeatureAttributes\n\n/**\n * A tag to add to the customer's account when entitled to the feature.\n */\nexport type FeatureTag = string\n\nexport type FeatureAccessAttributes = {\n type: \"access\"\n tag: FeatureTag\n}\n\nexport type FeaturePromotion = {\n /**\n * The name of the feature.\n */\n name: string\n tag: FeatureTag\n promotion_id?: SubscriptionsUuid\n}\n\nexport type FeaturePromotionAttributes = {\n type: \"promotion\"\n promotions: Array<FeaturePromotion>\n}\n\nexport type FeatureUsageAttributes = {\n type: \"usage\"\n tag: FeatureTag\n /**\n * The property that has a usage limit.\n */\n label: string\n /**\n * The default initial value\n */\n default_value: number\n}\n\nexport type FeatureConfiguration = (\n | ({\n type?: \"access\"\n } & FeatureAccessAttributes)\n | ({\n type?: \"promotion\"\n } & FeaturePromotionAttributes)\n | ({\n type?: \"usage\"\n } & FeatureUsageAttributes)\n) & {\n /**\n * The type of feature, one of access, promotion or usage.\n */\n type: \"access\" | \"promotion\" | \"usage\"\n}\n\nexport type FeatureAttributes = {\n external_ref?: ExternalRef\n /**\n * The name of the feature.\n */\n name: string\n /**\n * The feature description to display to customers.\n */\n description?: string\n configuration: FeatureConfiguration\n}\n\nexport type FeatureUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n /**\n * The name of the feature.\n */\n name?: string\n /**\n * The feature description to display to customers.\n */\n description?: string | null\n configuration?: FeatureConfiguration\n}\n\nexport type PlanMeta = {\n prices?: OfferingPlanPrices\n display_price?: DisplayPrice2\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n active_plan?: ActivePlan\n}\n\nexport type OfferingPlanCreate = {\n type: SubscriptionOfferingPlanType\n attributes: OfferingPlanAttributes\n relationships?: Relationships\n}\n\nexport type OfferingPlanAttributes = PlanAttributes &\n OfferingPlanExtraAttributes\n\nexport type OfferingPlanResponseAttributes = PlanResponseAttributes &\n OfferingPlanResponseExtraAttributes\n\nexport type OfferingPlanExtraAttributes = {\n /**\n * A map of configurations indicating which features are available for the plan\n */\n feature_configurations?: {\n [key: string]: FeaturePlanConfiguration\n }\n}\n\nexport type OfferingPlanResponseExtraAttributes = {\n /**\n * A map of configurations indicating which features are available for the plan\n */\n feature_configurations: {\n [key: string]: FeaturePlanConfiguration\n }\n}\n\nexport type PlanResponseAttributes = PlanAttributes & SubscriptionsTimestamps\n\nexport type PlanAttributes = {\n external_ref?: ExternalRef\n /**\n * The name of the plan.\n */\n name: string\n /**\n * The plan or service description to display to customers.\n */\n description?: string\n /**\n * A stock keeping unit for the plan, if appropriate.\n */\n sku?: string\n /**\n * A URL from which an image or file for the plan can be fetched. You can either upload your images and files to Commerce using the Commerce Files API or you can use your own content delivery network. If you are using the Commerce Files API, use [**Create a File**](/docs/api/pxm/files/create-a-file) to upload your file and return an HREF link in the response. An extensive range of [**media and file extensions**](/docs/api/pxm/files/files-service-api) are supported.\n */\n main_image?: string\n price?: Price\n price_units?: PriceUnits\n}\n\nexport type OfferingPlanUpdateAttributes = PlanUpdateAttributes &\n OfferingPlanUpdateExtraAttributes\n\nexport type OfferingPlanUpdateExtraAttributes = {\n /**\n * A map of configurations indicating which features are available for the plan\n */\n feature_configurations?: {\n [key: string]: FeaturePlanConfigurationUpdate\n }\n}\n\nexport type PlanUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n /**\n * The name of the plan.\n */\n name?: string\n /**\n * The plan or service description to display to customers.\n */\n description?: string | null\n /**\n * A stock keeping unit for the plan, if appropriate.\n */\n sku?: string | null\n /**\n * A URL from which an image or file for the plan can be fetched. You can either upload your images and files to Commerce using the Commerce Files API or you can use your own content delivery network. If you are using the Commerce Files API, use [**Create a File**](/docs/api/pxm/files/create-a-file) to upload your file and return an HREF link in the response. An extensive range of [**media and file extensions**](/docs/api/pxm/files/files-service-api) are supported.\n */\n main_image?: string | null\n price?: NullablePrice\n price_units?: NullablePriceUnits\n}\n\nexport type DunningRule = {\n id?: SubscriptionsUuid\n type: SubscriptionDunningRuleType\n attributes: DunningRuleAttributes\n meta: DunningRuleMeta\n}\n\nexport type DunningRuleMeta = {\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type DunningRuleCreate = {\n type: SubscriptionDunningRuleType\n attributes: DunningRuleAttributes\n}\n\nexport type DunningRuleUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionDunningRuleType\n attributes: DunningRuleUpdateAttributes\n}\n\n/**\n * The strategy used to make payments. Always `fixed`. This means payments are retried on a fixed schedule as defined by the `payment_retry_unit` and `payment_retry_interval`, for example, every two days.\n *\n */\nexport type PaymentRetryType = \"fixed\" | \"backoff\" | \"tiered\"\n\n/**\n * The unit of time used to measure the intervals between payment attempts or retries.\n */\nexport type PaymentRetryUnit = \"day\" | \"week\"\n\n/**\n * The action to take after all payment attempts for an invoice have failed.\n *\n * - None - the subscription remains active and Subscriptions does not attempt to retry the payment. However, the subscription is still available for a subscriber to use.\n * - Suspend the subscription. Subscriptions does not attempt to retry the payment. A subscriber can choose to pay the outstanding invoice. However, a subscriber cannot renew their subscription; a merchandizer must renew the subscription on behalf of the subscriber.\n * - close a subscription. The subscription ends and it's status becomes `inactive`. However, a merchandizer can choose to resume the subscription if a subscriber pays the outstanding payment.\n *\n */\nexport type Action = \"none\" | \"pause\" | \"close\" | \"suspend\"\n\n/**\n * The dunning rule attributes you can use to configure your payment retry strategy.\n *\n */\nexport type DunningRuleAttributes = {\n /**\n * The strategy used to make payments. Always `fixed`. This means payments are retried on a fixed schedule as defined by the `payment_retry_unit` and `payment_retry_interval`, for example, every two days.\n *\n */\n payment_retry_type: \"fixed\" | \"backoff\" | \"tiered\"\n /**\n * The number of `payment_interval_unit`s to wait between each payment retry attempt.\n */\n payment_retry_interval?: BigInt\n /**\n * The unit of time used to measure the intervals between payment attempts or retries.\n */\n payment_retry_unit?: \"day\" | \"week\"\n /**\n * The multiplier that increases the interval between consecutive each payment attempts or retries. This is typically used to gradually extend the time between retries. Allowing more time between attempts as failures persist, helps reduce the risk of triggering multiple failures in a short period and gives the subscriber more time to resolve the issue. Must only be set for backup types.\n */\n payment_retry_multiplier?: number\n /**\n * The number of times Subscriptions attempts payment retries before `action` is taken.\n */\n payment_retries_limit: BigInt\n /**\n * The action to take after all payment attempts for an invoice have failed.\n *\n * - None - the subscription remains active and Subscriptions does not attempt to retry the payment. However, the subscription is still available for a subscriber to use.\n * - Suspend the subscription. Subscriptions does not attempt to retry the payment. A subscriber can choose to pay the outstanding invoice. However, a subscriber cannot renew their subscription; a merchandizer must renew the subscription on behalf of the subscriber.\n * - close a subscription. The subscription ends and it's status becomes `inactive`. However, a merchandizer can choose to resume the subscription if a subscriber pays the outstanding payment.\n *\n */\n action: \"none\" | \"pause\" | \"close\" | \"suspend\"\n /**\n * Set to `true` if you want this rule to be the default for the store.\n */\n default?: boolean\n}\n\nexport type DunningRuleUpdateAttributes = {\n /**\n * The strategy used to make payments. Always `fixed`. This means payments are retried on a fixed schedule as defined by the `payment_retry_unit` and `payment_retry_interval`, for example, every two days.\n *\n */\n payment_retry_type?: \"fixed\" | \"backoff\" | \"tiered\"\n /**\n * The number of `payment_interval_unit`s to wait between each payment retry attempt.\n */\n payment_retry_interval?: BigInt | null\n /**\n * The unit of time used to measure the intervals between payment attempts or retries.\n */\n payment_retry_unit?: \"day\" | \"week\"\n /**\n * The multiplier that increases the interval between consecutive each payment attempts or retries. This is typically used to gradually extend the time between retries. Allowing more time between attempts as failures persist, helps reduce the risk of triggering multiple failures in a short period and gives the subscriber more time to resolve the issue. Must only be set for backup types.\n */\n payment_retry_multiplier?: number | null\n /**\n * The number of times Subscriptions attempts payment retries before `action` is taken.\n */\n payment_retries_limit?: BigInt\n /**\n * The action to take after all payment attempts for an invoice have failed.\n */\n action?: \"none\" | \"pause\" | \"close\" | \"suspend\"\n /**\n * Set to `true` if you want this rule to be the default for the store.\n */\n default?: boolean\n}\n\nexport type ProrationPolicy = {\n id?: SubscriptionsUuid\n type: ProrationPolicyType\n attributes: ProrationPolicyResponseAttributes\n meta: ProrationPolicyMeta\n}\n\nexport type ProrationPolicyUpdate = {\n id: SubscriptionsUuid\n type: ProrationPolicyType\n attributes: ProrationPolicyUpdateAttributes\n}\n\nexport type ProrationPolicyRelationshipAttributes = {\n type: ProrationPolicyType\n id: SubscriptionsUuid\n}\n\nexport type ProrationPolicyUpdateRelationshipAttributes = {\n type: ProrationPolicyType\n id: SubscriptionsUuid\n} | null\n\nexport type ProrationPolicyResponseAttributes = ProrationPolicyAttributes\n\nexport type ProrationPolicyCreate = {\n type: ProrationPolicyType\n attributes: ProrationPolicyAttributes\n}\n\n/**\n * When rounding in proration, you must decide how to round the units of time used to calculate the charges.\n *\n * - round up to the next unit, ensuring subscribers are charged slightly more to cover any partial use.\n * - round down to the previous whole unit, providing subscribers with a slight benefit by not charging for partial use.\n * - round to the nearest whole unit, whether up or down, based on standard rounding rules. For example, rounding 0.5 up and rounding 0.5 down.\n *\n */\nexport type Rounding = \"up\" | \"down\" | \"nearest\"\n\nexport type ProrationPolicyAttributes = {\n /**\n * A name for the proration policy.\n */\n name: string\n /**\n * When rounding in proration, you must decide how to round the units of time used to calculate the charges.\n *\n * - round up to the next unit, ensuring subscribers are charged slightly more to cover any partial use.\n * - round down to the previous whole unit, providing subscribers with a slight benefit by not charging for partial use.\n * - round to the nearest whole unit, whether up or down, based on standard rounding rules. For example, rounding 0.5 up and rounding 0.5 down.\n *\n */\n rounding: \"up\" | \"down\" | \"nearest\"\n external_ref?: ExternalRef\n}\n\nexport type ProrationPolicyUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n /**\n * The name of the proration policy.\n */\n name?: string\n /**\n * Whether to round up or down\n */\n rounding?: \"up\" | \"down\" | \"nearest\"\n}\n\nexport type ProrationPolicyMeta = {\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type OfferingPricingOptionCreate = {\n type: SubscriptionOfferingPricingOptionType\n attributes: PricingOptionAttributes\n}\n\nexport type PricingOptionResponseAttributes = PricingOptionAttributes &\n SubscriptionsTimestamps\n\n/**\n * The unit of time that billing intervals are measured.\n */\nexport type BillingIntervalType = \"day\" | \"week\" | \"month\" | \"year\"\n\n/**\n * Enables you to specify recurring payments. If `end_behavior` is `roll`, customers pay regularly and repeatedly. If `end_behavior` is `close`, customers pay a total amount in a limited number of partial payments.\n */\nexport type EndBehavior = \"close\" | \"roll\"\n\nexport type PricingOptionAttributes = {\n external_ref?: ExternalRef\n /**\n * A name for the pricing option.\n */\n name: string\n /**\n * The pricing option description to display to customers.\n */\n description?: string\n /**\n * The unit of time that billing intervals are measured.\n */\n billing_interval_type: \"day\" | \"week\" | \"month\" | \"year\"\n /**\n * The number of intervals between issuing bills.\n */\n billing_frequency: number\n /**\n * The number of intervals from the start of the subscription before billing starts. Used with `billing_interval_type`. For example, if `billing_interval_type` is `months`, and `trial_period` is `1`, the trial period is 1 month.\n */\n trial_period?: number\n /**\n * The number of intervals that the subscription runs for.\n */\n plan_length: number\n /**\n * Enables you to specify recurring payments. If `end_behavior` is `roll`, customers pay regularly and repeatedly. If `end_behavior` is `close`, customers pay a total amount in a limited number of partial payments.\n */\n end_behavior: \"close\" | \"roll\"\n /**\n * The subscriber can pause a subscription.\n */\n can_pause: boolean\n /**\n * The subscriber can resume a paused subscription.\n */\n can_resume: boolean\n /**\n * The subscriber can cancel a subscription.\n */\n can_cancel: boolean\n /**\n * A percentage discount on the total cost of any plans within an offering. For example, you can configure a percentage that equates the cost of a pricing option to the total value of all plans within the offering, reduced by a percentage. For example, if you specify `10`, a 10% discount is applied to the total value of all repeat plans in an offering.\n */\n base_price_percentage?: number\n fixed_price?: Price\n}\n\nexport type PricingOptionUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n name?: string\n /**\n * The pricing option description to display to customers.\n */\n description?: string | null\n /**\n * The unit of time in which billing intervals are measured.\n */\n billing_interval_type?: \"day\" | \"week\" | \"month\" | \"year\"\n /**\n * The number of intervals between issuing bills.\n */\n billing_frequency?: number\n /**\n * The number of intervals from the start of the subscription before billing starts. Used with `billing_interval_type`. For example, if `billing_interval_type` is `months`, and `trial_period` is `1`, the trial period is 1 month.\n */\n trial_period?: number | null\n /**\n * The length of time for which a subscription plan is valid. For example, six months after which the plan is renewed.\n */\n plan_length?: number\n /**\n * Enables you to specify recurring payments. If `end_behavior` is `roll`, customers pay regularly and repeatedly. If `end_behavior` is `close`, customers pay a total amount in a limited number of partial payments.\n */\n end_behavior?: \"close\" | \"roll\"\n /**\n * The subscriber can pause a subscription.\n */\n can_pause?: boolean\n /**\n * The subscriber can resume a paused subscription.\n */\n can_resume?: boolean\n /**\n * The subscriber can cancel a subscription.\n */\n can_cancel?: boolean\n /**\n * A percentage discount on the total cost of any plans within an offering. For example, you can configure a percentage that equates the cost of a pricing option to the total value of all plans within the offering, reduced by a percentage. For example, if you specify `10`, a 10% discount is applied to the total value of all repeat plans in an offering.\n */\n base_price_percentage?: number | null\n fixed_price?: NullablePrice\n}\n\nexport type BuildOffering = {\n external_ref?: ExternalRef\n /**\n * The name of the offering.\n */\n name: string\n /**\n * The offering description to display to customers.\n */\n description?: string\n /**\n * The unique ID or external ref of the proration policy\n */\n proration_policy_id?: string\n configured_features?: OfferingBuildConfiguredFeatures\n pricing_option_associations?: OfferingBuildPricingOptionAssociations\n /**\n * Either references of existing features (id or external_ref) to be attached to the offering or feature information to be created directly within the offering\n */\n features?: Array<ExternalRef | FeatureAttributes | SubscriptionsUuid>\n /**\n * Plan information to be created within the offering\n */\n plans: Array<OfferingPlanAttributes>\n /**\n * Pricing options information to be created within the offering\n */\n pricing_options: Array<PricingOptionAttributes>\n}\n\nexport type Offering = {\n id?: SubscriptionsUuid\n type: SubscriptionOfferingType\n attributes: OfferingResponseAttributes\n relationships?: Relationships\n meta: OfferingMeta\n}\n\nexport type OfferingIncludes = {\n features?: Array<OfferingFeature>\n plans?: Array<OfferingPlan>\n pricing_options?: Array<OfferingPricingOption>\n}\n\nexport type OfferingMeta = {\n external_plan_refs: Array<OfferingPlanExternalRefMeta>\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type OfferingCreate = {\n type: SubscriptionOfferingType\n attributes: OfferingAttributes\n relationships?: OfferingRelationships\n}\n\nexport type OfferingPlanUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionOfferingPlanType\n attributes: OfferingPlanUpdateAttributes\n}\n\n/**\n * Configures an access feature against a plan in an offering, indicating that the referenced feature is a benefit of that plan.\n */\nexport type FeatureConfigAccessAttributes = {\n type: \"access\"\n}\n\n/**\n * Configures a promotion feature against a plan in an offering, indicating that the referenced feature is a benefit of that plan. The tag of the specific promotion that it to be made available must be supplied.\n */\nexport type FeatureConfigPromotionAttributes = {\n type: \"promotion\"\n tag: FeatureTag\n}\n\n/**\n * Configures a usage feature against a plan in an offering, indicating that the referenced feature is a benefit of that plan. The default value that the usage metrics adopts must be supplied.\n */\nexport type FeatureConfigUsageAttributes = {\n type: \"usage\"\n /**\n * The default initial value\n */\n default_value: number\n}\n\nexport type FeaturePlanConfiguration = (\n | ({\n type?: \"access\"\n } & FeatureConfigAccessAttributes)\n | ({\n type?: \"promotion\"\n } & FeatureConfigPromotionAttributes)\n | ({\n type?: \"usage\"\n } & FeatureConfigUsageAttributes)\n) & {\n /**\n * The type of feature, one of access, promotion or usage.\n */\n type: \"access\" | \"promotion\" | \"usage\"\n}\n\nexport type FeaturePlanConfigurationUpdate = (\n | ({\n type?: \"access\"\n } & FeatureConfigAccessAttributes)\n | ({\n type?: \"promotion\"\n } & FeatureConfigPromotionAttributes)\n | ({\n type?: \"usage\"\n } & FeatureConfigUsageAttributes)\n | null\n) & {\n /**\n * The type of feature, one of access, promotion or usage.\n */\n type: \"access\" | \"promotion\" | \"usage\"\n}\n\nexport type OfferingBuildPlanPricingOptions = Array<string>\n\n/**\n * A map of plans keyed by plan UUID or external_ref to a list of associated pricing options, similarly keyed.\n */\nexport type OfferingBuildPricingOptionAssociations = {\n [key: string]: OfferingBuildPlanPricingOptions\n}\n\n/**\n * Map of feature configurations keyed by plan UUID or external_ref\n */\nexport type OfferingBuildConfiguredFeatures = {\n [key: string]: OfferingBuildPlanFeatures\n}\n\n/**\n * A map of configurations indicating which features are available for the plan\n */\nexport type OfferingBuildPlanFeatures = {\n [key: string]: FeaturePlanConfiguration\n}\n\nexport type OfferingFeatureUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionOfferingFeatureType\n attributes: FeatureUpdateAttributes\n}\n\nexport type OfferingFeature = {\n id?: SubscriptionsUuid\n type: SubscriptionOfferingFeatureType\n attributes: FeatureResponseAttributes\n relationships?: Relationships\n meta: FeatureMeta\n}\n\nexport type OfferingPlan = {\n id?: SubscriptionsUuid\n type: SubscriptionOfferingPlanType\n attributes: OfferingPlanResponseAttributes\n relationships?: Relationships\n meta: PlanMeta\n}\n\nexport type OfferingPricingOptionUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionOfferingPricingOptionType\n attributes: PricingOptionUpdateAttributes\n}\n\nexport type OfferingPricingOption = {\n id?: SubscriptionsUuid\n type: SubscriptionOfferingPricingOptionType\n attributes: PricingOptionResponseAttributes\n relationships?: Relationships\n meta: OfferingPricingOptionMeta\n}\n\nexport type OfferingPricingOptionMeta = {\n prices?: OfferingPricingOptionPrices\n price?: Price\n display_price?: DisplayPrice2\n active_pricing_option?: ActivePricingOption\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\n/**\n * The price of each plan within the offering that this pricing option may be applied to.\n */\nexport type OfferingPricingOptionPrices = {\n [key: string]: OfferingPricingOptionPriceForPlan\n}\n\nexport type OfferingPricingOptionPriceForPlan = {\n price?: Price\n display_price?: DisplayPrice2\n}\n\n/**\n * A list of feature IDs to attach to the offering. See [**List Features**](/docs/api/subscriptions/list-features).\n */\nexport type OfferingFeatureAttach = {\n features: Array<SubscriptionsUuid>\n}\n\nexport type OfferingUpdate = unknown & {\n id: SubscriptionsUuid\n type: SubscriptionOfferingType\n attributes?: OfferingUpdateAttributes\n relationships?: OfferingUpdateRelationships\n}\n\nexport type OfferingResponseAttributes = OfferingAttributes &\n SubscriptionsTimestamps\n\nexport type OfferingAttributes = {\n external_ref?: ExternalRef\n /**\n * The name of the offering.\n */\n name: string\n /**\n * The offering description to display to customers.\n */\n description?: string\n}\n\nexport type OfferingUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n /**\n * The name of the offering.\n */\n name?: string\n /**\n * The offering description to display to customers.\n */\n description?: string | null\n}\n\nexport type OfferingRelationships = {\n proration_policy?: ProrationPolicyRelationshipAttributes\n}\n\nexport type OfferingUpdateRelationships = {\n proration_policy?: ProrationPolicyUpdateRelationshipAttributes\n}\n\n/**\n * A subscription may optionally be associated with an item in an order by supplying both the order ID and the ID of the item within that order.\n */\nexport type BuildSubscriptionOrder = {\n order_id: SubscriptionsUuid\n order_item_id: SubscriptionsUuid\n}\n\nexport type BuildSubscription = {\n external_ref?: ExternalRef\n account_id: SubscriptionsUuid\n address_id?: SubscriptionsUuid\n offering_external_ref?: ExternalRef\n offering_id?: SubscriptionsUuid\n plan_id?: SubscriptionsUuid\n pricing_option_id?: SubscriptionsUuid\n currency: CurrencyIdentifier\n payment_authority?: PaymentAuthority\n manual_payments: ManualPayments\n name: string\n email: string\n /**\n * Whether a subscription is pending activation or not. See [Creating a pending subscription](/docs/api/subscriptions/subscriptions#creating-a-pending-subscription).\n */\n pending?: boolean\n /**\n * Indicates that payment for the first billing period of the subscription has already been taken. As well as creating the subscription a settled invoice is created to cover the first period.\n */\n first_invoice_paid?: boolean\n /**\n * When importing an active subscription from an existing system you can specify the date and time of the start of the most recent period. This may only be supplied when `first_invoice_paid` is true. As well as creating the subscription a settled invoice is created to cover the correct billing period.\n */\n started_at?: string\n offering?: OfferingAttributes\n /**\n * Either references of existing features (id or external_ref) to be attached to the offering or feature information to be created directly within the offering\n */\n features?: Array<ExternalRef | FeatureAttributes | SubscriptionsUuid>\n plans?: Array<PlanAttributesAndSelectedMeta>\n pricing_options?: Array<PricingOptionAttributesAndSelectedMeta>\n configured_features?: OfferingBuildConfiguredFeatures\n pricing_option_associations?: OfferingBuildPricingOptionAssociations\n selected_plan?: ExternalRef\n selected_pricing_option?: ExternalRef\n order?: BuildSubscriptionOrder\n meta?: SubscriptionMeta\n}\n\nexport type PricingOptionAttributesAndSelectedMeta = PricingOptionAttributes &\n SelectedMeta\n\nexport type PlanAttributesAndSelectedMeta = PlanAttributes & SelectedMeta\n\nexport type SelectedMeta = {\n meta?: SelectedMetaAttributes\n}\n\nexport type SelectedMetaAttributes = {\n /**\n * One item must be selected for use in the subscription\n */\n selected?: boolean\n}\n\nexport type Subscription = {\n id?: SubscriptionsUuid\n type: SubscriptionType\n attributes: SubscriptionAttributes\n relationships?: Relationships\n meta: SubscriptionMeta\n}\n\nexport type ManageSubscriptionPlans = {\n type: \"detach\"\n plans: Array<SubscriptionsUuid>\n}\n\nexport type SubscriptionUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionType\n attributes: SubscriptionUpdateAttributes\n}\n\nexport type SubscriptionUpdateAttributes = {\n pricing_option_id?: unknown\n plan_id?: unknown\n address_id?: string | null\n payment_authority?: PaymentAuthority\n /**\n * The date and time a `pending` subscription goes live and becomes active. See [Creating a pending subscription](/docs/api/subscriptions/subscriptions#creating-a-pending-subscription).\n */\n go_live_after?: string | null\n}\n\nexport type SubscriptionIncludes = {\n plans?: Array<OfferingPlan>\n pricing_options?: Array<OfferingPricingOption>\n}\n\nexport type SubscriptionMeta = {\n owner: OwnerMeta\n timestamps: SubscriptionTimestamps\n status: Status2\n state?: SubscriptionState\n manual_payments: ManualPayments\n /**\n * Indicates that the first billing period of this subscription was paid for outside of the subscriptions service.\n */\n first_invoice_prepaid: boolean\n /**\n * Whether a subscription is canceled or not.\n */\n canceled: boolean\n /**\n * Whether a subscription is paused or not.\n */\n paused: boolean\n /**\n * Whether a subscription is closed or not.\n */\n closed: boolean\n /**\n * Whether a subscription is suspended or not.\n */\n suspended: boolean\n /**\n * Whether a subscription is pending activation or not.\n */\n pending: boolean\n /**\n * The time when the subscription becomes eligible for a new invoice. The next invoice will be generated at the next billing run after this point.\n */\n invoice_after: string\n}\n\nexport type SubscriptionTimestamps = SubscriptionsTimestamps & {\n /**\n * The date and time a subscription was cancelled.\n */\n canceled_at?: string\n /**\n * The date and time a subscription was paused.\n */\n paused_at?: string\n /**\n * The date and time a subscription was resumed.\n */\n resumed_at?: string\n /**\n * The date and time a subscription will end.\n */\n end_date?: string\n /**\n * The date and time a subscription will go live and become active.\n */\n go_live_after?: string\n /**\n * The date and time a subscription was released from the pending state and made active.\n */\n go_live?: string\n}\n\nexport type SubscriptionAttributes = {\n external_ref?: ExternalRef\n account_id: SubscriptionsUuid\n address_id?: SubscriptionsUuid\n offering: Offering\n pricing_option_id: SubscriptionsUuid\n plan_id: SubscriptionsUuid\n currency: CurrencyIdentifier\n payment_authority?: PaymentAuthority\n}\n\nexport type ChangeState = {\n type: SubscriptionStateType\n attributes: SubscriptionStateAttributes\n}\n\nexport type SubscriptionStateAttributes = {\n action: SubscriptionStateAction\n}\n\n/**\n * This represents the type of resource object being returned. Always `subscription_state`.\n */\nexport type SubscriptionStateType = \"subscription_state\"\n\n/**\n * The subscription lifecycle is the states that a subscription can go through when a customer subscribes to a service or a plan.\n *\n * A subscription can have the following states; `canceled`, `paused`, or `resumed`.\n *\n * See [**Managing the subscription lifecycle**](/docs/api/subscriptions/subscriptions#managing-the-subscription-lifecycle).\n *\n */\nexport type SubscriptionStateAction = \"cancel\" | \"pause\" | \"resume\" | \"pending\"\n\nexport type StateMeta = {\n /**\n * The date and time a resource was created.\n */\n created_at: string\n}\n\nexport type SubscriptionState = {\n id?: SubscriptionsUuid\n type: SubscriptionStateType\n attributes: SubscriptionStateAttributes\n meta: StateMeta\n}\n\n/**\n * When configured to true, no payment gateway is used and a pending payment is created. See [External Payments](/docs/api/subscriptions/invoices#external-payments).\n */\nexport type ManualPayments = boolean\n\nexport type PaymentAuthority = (\n | ({\n type?: \"elastic_path_payments_stripe\"\n } & PaymentAuthorityStripe)\n | ({\n type?: \"authorize_net\"\n } & PaymentAuthorityAuthorizeNet)\n) & {\n /**\n * The name of the payment gateway facilitating the secure transmission of payment data.\n */\n type: \"authorize_net\" | \"elastic_path_payments_stripe\"\n}\n\nexport type NullablePaymentAuthority = (\n | ({\n type?: \"elastic_path_payments_stripe\"\n } & PaymentAuthorityStripe)\n | ({\n type?: \"authorize_net\"\n } & PaymentAuthorityAuthorizeNet)\n | null\n) & {\n /**\n * The name of the payment gateway facilitating the secure transmission of payment data.\n */\n type: \"authorize_net\" | \"elastic_path_payments_stripe\"\n}\n\nexport type PaymentAuthorityAuthorizeNet = {\n /**\n * The name of the payment gateway facilitating the secure transmission of payment data.\n */\n type: \"authorize_net\"\n /**\n * The customer's payment profile id, unique to Authorize.net, used to facilitate payment of the subscription.\n */\n payment_profile_id?: string\n /**\n * The customer's profile id, unique to Authorize.net, used to facilitate payment of the subscription.\n */\n customer_profile_id?: string\n}\n\nexport type PaymentAuthorityStripe = {\n /**\n * The name of the payment gateway facilitating the secure transmission of payment data.\n */\n type: \"elastic_path_payments_stripe\"\n /**\n * The unique identifier for a customer.\n */\n customer_id?: string\n /**\n * The unique identifier of the card used to facilitate payment of the subscription. If a card payment fails, you can use the `card_id` and `customer_id` attributes to program your front-end implementation to allow your preferred payment service provider to update a subscription with new card details. See [Card declines](/docs/api/subscriptions/invoices#card-declines).\n */\n card_id?: string\n}\n\nexport type Import = {\n id?: SubscriptionsUuid\n type: SubscriptionImportType\n attributes: ImportAttributes\n meta: ImportMeta\n}\n\nexport type ImportAttributes = {\n external_ref?: ExternalRef\n /**\n * The status of job.\n * - **pending** - Commerce has received the request but is currently busy processing other requests.\n * - **started** - Commerce has started processing the job.\n * - **success** - The job has successfully completed.\n * - **failed** - The job has failed.\n *\n */\n status: \"pending\" | \"started\" | \"success\" | \"failed\"\n}\n\nexport type ImportMeta = {\n owner: OwnerMeta\n timestamps: JobTimestamps\n records: ImportRecords\n}\n\n/**\n * You can track the number of records imported to ensure the completeness, accuracy and integrity of the import. Uploaded shows the number of records ready to be imported into Subscriptions. However, this does not mean they are valid subscription objects, only that they have the correct type and their JSON format is properly formatted. Imported shows the number of records that have been both validated and successfully added to Subscriptions.\n */\nexport type ImportRecords = {\n uploaded: {\n /**\n * The total number of features uploaded.\n */\n subscription_feature: number\n /**\n * The total number of subscribers uploaded.\n */\n subscription_subscriber: number\n /**\n * The total number of offerings uploaded.\n */\n subscription_offering: number\n /**\n * The total number of subscriptions uploaded.\n */\n subscription: number\n }\n imported: {\n /**\n * The total number of features uploaded.\n */\n subscription_feature: number\n /**\n * The total number of subscribers imported.\n */\n subscription_subscriber: number\n /**\n * The total number of offerings imported.\n */\n subscription_offering: number\n /**\n * The total number of subscriptions imported.\n */\n subscription: number\n }\n}\n\nexport type Job = {\n id?: SubscriptionsUuid\n type: SubscriptionJobType\n attributes: JobResponseAttributes\n relationships?: Relationships\n meta: JobMeta\n}\n\nexport type JobMeta = {\n owner: OwnerMeta\n timestamps: JobTimestamps\n report?: JobReport\n}\n\n/**\n * You can track your Subscriptions billing, tax, and payment operations using reports.\n */\nexport type JobReport = BillingRunReport | TaxRunReport | PaymentRunReport\n\nexport type BillingRunReport = {\n /**\n * The total number of invoices created that are ready for payment.\n */\n invoices_ready_for_payment: number\n /**\n * The total number of invoices created that need taxes to be applied before payment can be made.\n */\n invoices_tax_required: number\n /**\n * The total number of invoices that were scheduled but creation failed.\n */\n invoice_failures: number\n total_ready_for_payment: unknown & Price\n total_tax_required: unknown & Price\n}\n\nexport type TaxRunReport = {\n /**\n * The total number of invoices to which tax was successfully added.\n */\n invoices_updated: number\n /**\n * The total number of invoices to which tax could not be added.\n */\n invoice_failures: number\n}\n\nexport type PaymentRunReport = {\n /**\n * The total number of invoices for which payment was attempted.\n */\n total_payment_attempts: number\n /**\n * The number of failed payment attempts.\n */\n failed_payments: number\n total_collected: unknown & Price\n}\n\nexport type JobTimestamps = SubscriptionsTimestamps & {\n /**\n * The date and time a job is started.\n */\n started_at?: string\n /**\n * The date and time a job finished.\n */\n finished_at?: string\n}\n\nexport type JobCreate = {\n type: SubscriptionJobType\n attributes: JobCreateAttributes\n}\n\nexport type JobResponseAttributes = JobCreateAttributes &\n JobAttributes &\n SubscriptionsTimestamps\n\n/**\n * The type of job. One of the following:\n * - `billing_run` - a billing run job.\n * - `payment_run` - a payment run job.\n * - `tax_run` - a tax run job.\n *\n */\nexport type JobType = \"billing-run\" | \"tax-run\" | \"payment-run\" | \"import\"\n\nexport type JobCreateAttributes = {\n external_ref?: ExternalRef\n job_type: JobType\n taxes?: Array<InvoiceTaxItems>\n}\n\nexport type JobAttributes = {\n external_ref?: ExternalRef\n /**\n * The status of job.\n */\n status: \"pending\" | \"started\" | \"success\" | \"failed\"\n}\n\nexport type InvoiceTaxItems = {\n invoice_id: SubscriptionsUuid\n tax_items: Array<TaxItem>\n}\n\nexport type TaxItem = {\n /**\n * This represents the type of resource object being returned. Always `tax_item`.\n */\n type: \"tax_item\"\n /**\n * The name that appears on your customer's invoice and usually describes the specific type of tax, for example, `Sales`, `VAT` or `GST`.\n */\n name?: string\n /**\n * The unique identifier assigned to goods and services for taxation purposes.\n */\n code?: string\n /**\n * The tax rate is the percentage of the subscription amount that is required to be paid as tax.\n */\n rate: number\n /**\n * The geographic area or political entity that has authority to levy and collect taxes.\n */\n jurisdiction?: string\n}\n\nexport type SubscriptionInvoice = {\n id?: SubscriptionsUuid\n type: SubscriptionInvoiceType\n attributes: SubscriptionInvoiceAttributes\n relationships?: Relationships\n meta: SubscriptionInvoiceMeta\n}\n\nexport type UpdateInvoicePayment = {\n id: SubscriptionsUuid\n type: SubscriptionInvoicePaymentType\n attributes: UpdateInvoicePaymentAttributes\n}\n\nexport type UpdateInvoicePaymentAttributes = {\n /**\n * Whether the payment was successful.\n */\n success: boolean\n /**\n * An optional external ID that is specific to the gateway used.\n */\n external_payment_id?: string\n /**\n * A message generated by an external payment method that describes why a payment fails.\n */\n failure_detail?: string\n /**\n * The date and time the invoice payment was taken at.\n */\n payment_taken_at?: string\n}\n\nexport type SubscriptionInvoicePayment = {\n id: SubscriptionsUuid\n type: SubscriptionInvoicePaymentType\n attributes: SubscriptionInvoicePaymentAttributes\n meta: SubscriptionInvoicePaymentMeta\n}\n\nexport type SubscriptionInvoiceMeta = {\n owner: OwnerMeta\n subscription_id?: SubscriptionsUuid\n subscriber_id?: SubscriptionsUuid\n price?: SingleCurrencyPrice\n timestamps: InvoiceTimestamps\n proration_events: Array<ProrationEvent>\n}\n\nexport type ProrationEvent = {\n proration_policy_id: SubscriptionsUuid\n /**\n * The value as a whole number of the currency's smallest subdivision\n */\n billing_cost_before_proration: BigInt\n /**\n * The value as a whole number of the currency's smallest subdivision.\n */\n refunded_amount_for_unused_pricing_option: BigInt\n /**\n * The value as a whole number of the currency's smallest subdivision.\n */\n new_pricing_option_cost: BigInt\n /**\n * The date and time the subscription was prorated.\n */\n prorated_at: string\n}\n\nexport type InvoiceTimestamps = SubscriptionsTimestamps & {\n /**\n * The date and time taxes were added to an invoice.\n */\n taxes_added_at?: string\n}\n\nexport type SubscriptionInvoicePaymentMeta = {\n owner: OwnerMeta\n subscription_id: SubscriptionsUuid\n invoice_id: SubscriptionsUuid\n job_id: SubscriptionsUuid\n timestamps: InvoicePaymentTimestamps\n /**\n * Whether manual payments are enabled or the payment will be handled by the configured gateway.\n */\n manual_payment: boolean\n}\n\nexport type InvoicePaymentTimestamps = SubscriptionsTimestamps & {\n /**\n * The date and time a payment was taken.\n */\n payment_taken_at?: string\n}\n\nexport type SubscriptionInvoiceAttributes = {\n billing_period: TimePeriod\n invoice_items: Array<SubscriptionInvoiceItem>\n tax_items?: Array<TaxItem>\n /**\n * The invoice still requires payment if `true`.\n */\n outstanding: boolean\n /**\n * A sequential number assigned by the billing run.\n */\n number?: number\n /**\n * Whether tax is required for this invoice.\n */\n tax_required: boolean\n /**\n * Whether the limit of payment retries has been reached.\n */\n payment_retries_limit_reached: boolean\n /**\n * The date and time an invoice was updated.\n */\n updated_at?: string\n /**\n * The date and time an invoice was created.\n */\n created_at?: string\n /**\n * Whether there is a manual pending payment pending on the invoice.\n */\n manual_payment_pending: boolean\n}\n\nexport type SubscriptionInvoicePaymentAttributes = {\n /**\n * Whether the payment was successful.\n */\n success: boolean\n /**\n * Whether the payment is pending (only for manual payments).\n */\n pending?: boolean\n /**\n * Specifies the payment gateway.\n */\n gateway: string\n /**\n * An optional external ID that is specific to the gateway used.\n */\n external_payment_id?: string\n failure_detail?: PaymentFailureDetail\n amount: SingleCurrencyPrice\n}\n\n/**\n * The reason the payment failed.\n */\nexport type PaymentFailureDetail = {\n reason?: string\n}\n\nexport type SubscriptionInvoiceItem = {\n /**\n * A description of the subscribed item.\n */\n description: string\n price: SingleCurrencyPrice\n plan_id?: SubscriptionsUuid\n /**\n * The start date and time of the billing period in this price\n */\n from_time_period?: string\n /**\n * The end date and time of the billing period in this price\n */\n until_time_period?: string\n}\n\n/**\n * The three-letter [**ISO currency code**](https://www.iso.org/iso-4217-currency-codes.html) in uppercase.\n */\nexport type CurrencyIdentifier = string\n\n/**\n * The owner of a resource, either `store` or `organization`.\n */\nexport type OwnerMeta = string\n\n/**\n * The offerings plan external_ref value\n */\nexport type OfferingPlanExternalRefMeta = string\n\nexport type Subscriber = {\n id?: SubscriptionsUuid\n type: SubscriptionSubscriberType\n attributes: SubscriberResponseAttributes\n meta: SubscriberMeta\n}\n\nexport type SubscriberMeta = {\n /**\n * A list of entitlement tags currently active for the subscriber\n */\n feature_entitlements?: Array<FeatureTag>\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type SubscriptionSubscriberType = \"subscription_subscriber\"\n\nexport type SubscriberResponseAttributes = SubscriberAttributes &\n SubscriptionsTimestamps\n\nexport type SubscriberAttributes = {\n account_id: SubscriptionsUuid\n /**\n * The name of the subscriber.\n */\n name: string\n /**\n * The email of the subscriber.\n */\n email: string\n payment_authority?: PaymentAuthority\n}\n\nexport type SubscriberUpdateAttributes = {\n /**\n * The name of the subscriber.\n */\n name?: string\n /**\n * The email of the subscriber.\n */\n email?: string\n payment_authority?: NullablePaymentAuthority\n}\n\nexport type SubscriberCreate = {\n type: SubscriptionSubscriberType\n attributes: SubscriberAttributes\n}\n\nexport type SubscriberUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionSubscriberType\n attributes: SubscriberUpdateAttributes\n}\n\nexport type ScheduleCreate = {\n type: SubscriptionScheduleType\n attributes: ScheduleAttributes\n}\n\nexport type Schedule2 = {\n id?: SubscriptionsUuid\n type: SubscriptionScheduleType\n attributes: ScheduleResponseAttributes\n meta: ScheduleMeta\n}\n\nexport type ScheduleMeta = {\n scheduled_for?: Date\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type SubscriptionScheduleType = \"subscription_schedule\"\n\nexport type ScheduleResponseAttributes = ScheduleAttributes &\n SubscriptionsTimestamps\n\nexport type ScheduleAttributes = {\n external_ref?: ExternalRef\n /**\n * The name of the schedule.\n */\n name?: string\n /**\n * A cron-style specification of when the jobs should be created. See [**Schedules**](/docs/api/subscriptions/schedules).\n */\n specification: string\n /**\n * The location of the time zone that the schedule operates in. Subscriptions runs on Coordinated Universal Time (UTC) time and conforms to [**RFC 3339**](https://www.rfc-editor.org/rfc/rfc3339).\n */\n location: string\n job: ScheduleJob\n}\n\nexport type ScheduleUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n /**\n * The name of the schedule.\n */\n name?: string | null\n /**\n * A cron-style specification of when the jobs should be created.\n */\n specification?: string\n /**\n * The location of the time zone that the schedule operates in.\n */\n location?: string\n job?: ScheduleJob\n}\n\nexport type ScheduleJob = {\n job_type: JobType\n}\n\nexport type ScheduleUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionScheduleType\n attributes: ScheduleUpdateAttributes\n}\n\nexport type SubscriptionsTimestamps = {\n /**\n * The date and time a resource was updated.\n */\n updated_at: string\n /**\n * The date and time a resource was created.\n */\n created_at: string\n}\n\n/**\n * The subscription resource that is related.\n */\nexport type SubscriptionsSingleRelationship = {\n data?: RelationshipData\n links?: RelationshipLinks\n}\n\nexport type SubscriptionsErrorResponse = {\n errors: Array<SubscriptionsError>\n}\n\nexport type SubscriptionsError = {\n /**\n * The HTTP response code of the error.\n */\n status: string\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n /**\n * Additional supporting meta data for the error.\n */\n meta?: {\n [key: string]: unknown\n }\n}\n\n/**\n * The unique identifier.\n */\nexport type SubscriptionsUuid = string\n\nexport type StockType = \"stock\"\n\nexport type StockTransactionType = \"stock-transaction\"\n\nexport type MultipleProducts = {\n type?: \"stock\"\n /**\n * The unique identifier of the product.\n */\n id: string\n}\n\nexport type TransactionResponseAttributes = {\n /**\n * The type of action performed by this transaction.\n *\n * - **increment** - use this when you want to make products available for purchase, for example, when you have received stock from a supplier.\n *\n * - **decrement** - Use this when you want to remove stock from product inventory.\n *\n * - **allocate** - Use this when you want to allocate stock, normally to a reseller who sells on the stock.\n *\n * - **deallocate** - Use this when you want to deallocate any previously allocated stock.\n *\n */\n action: \"increment\" | \"decrement\" | \"allocate\" | \"deallocate\"\n product_id: InventoriesUuid\n /**\n * The amount of stock affected by the stock transaction.\n */\n quantity: BigInt\n /**\n * The slug of the location that the transaction should act on.\n */\n location?: string\n}\n\nexport type StockCreate = {\n id?: InventoriesUuid\n type: StockType\n attributes: StockCreateAttributes\n}\n\nexport type StockUpdateRequest = {\n id: InventoriesUuid\n type: StockType\n attributes: StockUpdateAttributes\n}\n\nexport type StockUpdateAttributes = {\n locations?: NullableLocations\n}\n\nexport type NullableLocation = {\n available: BigInt\n} | null\n\nexport type NullableLocations = {\n [key: string]: NullableLocation\n}\n\nexport type StockCreateAttributes = {\n available?: BigInt\n locations?: {\n [key: string]: {\n available: BigInt\n }\n }\n}\n\nexport type StockResponse = {\n id: InventoriesUuid\n type: StockType\n attributes: StockResponseAttributes\n meta: StockMeta\n}\n\nexport type StockResponseAttributes = {\n available: BigInt\n allocated: BigInt\n total: BigInt\n locations?: StockLocations\n}\n\nexport type StockLocations = {\n [key: string]: {\n available: BigInt\n allocated: BigInt\n total: BigInt\n }\n}\n\nexport type TransactionCreate = {\n type: StockTransactionType\n attributes: TransactionCreateAttributes\n}\n\nexport type TransactionCreateAttributes = {\n product_id?: InventoriesUuid\n /**\n * The type of action being performed by this transaction.\n *\n * - **increment** - use this when you want to make products available for purchase, for example, when you have received stock from a supplier.\n *\n * - **decrement** - Use this when you want to remove stock from product inventory.\n *\n * - **allocate** - Use this when you want to allocate stock, normally to a reseller who sells on the stock.\n *\n * - **deallocate** - Use this when you want to deallocate any previously allocated stock.\n *\n * - **set** - Use this when you want to set total stock to a specific value.\n *\n */\n action: \"increment\" | \"decrement\" | \"allocate\" | \"deallocate\" | \"set\"\n /**\n * The amount of stock affected by the stock transaction.\n */\n quantity: BigInt\n /**\n * The slug of the location that the transaction should act on.\n */\n location?: string\n}\n\nexport type Location = {\n id: InventoriesUuid\n type: InventoryLocationType\n attributes: LocationAttributes\n meta?: Meta\n}\n\nexport type LocationAttributes = {\n name: string\n external_ref?: string\n slug: string\n description?: string\n address?: Array<string>\n geolocation?: GeolocationDetails\n}\n\nexport type LocationUpdateAttributes = {\n name?: string\n external_ref?: string | null\n slug?: string\n description?: string | null\n address?: Array<string | null> | null\n geolocation?: GeolocationDetails\n}\n\n/**\n * The longitude and latitude of a location.\n */\nexport type GeolocationDetails = {\n lat: number\n lon: number\n} | null\n\nexport type LocationRequest = {\n type?: InventoryLocationType\n attributes: LocationAttributes\n}\n\nexport type LocationUpdateRequest = {\n id: InventoriesUuid\n type: InventoryLocationType\n attributes: LocationUpdateAttributes\n}\n\nexport type InventoryLocationType = \"inventory_location\"\n\nexport type StockMeta = {\n stock_id: InventoriesUuid\n timestamps: InventoriesTimestamps\n}\n\nexport type Meta = {\n timestamps: InventoriesTimestamps\n}\n\nexport type InventoriesTransactionResponse = {\n id: InventoriesUuid\n type: StockTransactionType\n attributes: TransactionResponseAttributes\n meta?: Meta\n}\n\n/**\n * The unique identifier.\n */\nexport type InventoriesUuid = string\n\nexport type InventoriesTimestamps = {\n /**\n * The date and time a resource was updated.\n */\n updated_at?: string\n /**\n * The date and time a resource was created.\n */\n created_at: string\n}\n\nexport type InventoriesErrorResponse = {\n errors: Array<InventoriesError>\n}\n\nexport type InventoriesError = {\n /**\n * The HTTP response code of the error.\n */\n status: string\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n /**\n * Additional supporting meta data for the error.\n */\n meta?: {\n [key: string]: unknown\n }\n}\n\nexport type AccessTokenRequest = {\n /**\n * The grant type, choices are `client_credentials` or `implicit`\n */\n grant_type: string\n /**\n * Your `client_id`\n */\n client_id: string\n /**\n * Your `client_secret`. Only required for client credentials.\n */\n client_secret?: string\n}\n\nexport type AccessTokenResponse = {\n /**\n * The access token you use to authenticate requests to the API.\n */\n access_token?: string\n /**\n * Right now this is only `Bearer`.\n */\n token_type?: string\n /**\n * The type of token requested. This can be a `client_credentials` or `implicit`.\n */\n identifier?: string\n /**\n * The duration in seconds after which the token expires.\n */\n expires_in?: number\n /**\n * The epoch time that this token expires at.\n */\n expires?: number\n}\n\nexport type ErrorResponse2 = {\n errors: Array<Error2>\n}\n\nexport type Error2 = {\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * The HTTP response code of the error.\n */\n status: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n}\n\nexport type Address = {\n /**\n * Specifies the the type of object. Set this value to `address`.\n */\n type?: string\n /**\n * The first name of the recipient on this address.\n */\n first_name?: string\n /**\n * The last name of the recipient on this address.\n */\n last_name?: string\n /**\n * The name for the address saved, such as `home`, `work` or `wife’s office`.\n */\n name?: string\n /**\n * A phone number for this address.\n */\n phone_number?: string\n /**\n * Any delivery instructions for this address.\n */\n instructions?: string\n /**\n * The company name at this address.\n */\n company_name?: string\n /**\n * The first portion of the address, usually the street address.\n */\n line_1?: string\n /**\n * The second portion of the address, usually an apartment or unit number.\n */\n line_2?: string\n /**\n * The city for this address.\n */\n city?: string\n /**\n * The county for this address.\n */\n county?: string\n /**\n * The state, province, territory, etc. for this address.\n */\n region?: string\n /**\n * The ZIP Code, Postcode, or other postal reference string for this delivery address.\n */\n postcode?: string\n /**\n * A two digit code for the country this address is in, expressed as per the ISO 3166-2 standard.\n */\n country?: string\n}\n\nexport type AddressResponse = Address & {\n /**\n * The unique identifier for an Address.\n */\n id?: string\n meta?: AccountAddressesMetaTimestamps\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n}\n\nexport type AccountAddressResponse = AddressResponse & {\n relationships?: {\n account?: {\n /**\n * The ID of the account.\n */\n id?: string\n /**\n * The type of object being returned.\n */\n type?: string\n }\n }\n}\n\n/**\n * Bad Request\n */\nexport type ErrorBadRequest = unknown\n\n/**\n * Not Found\n */\nexport type ErrorNotFound = unknown\n\nexport type AccountAddressesMetaTimestamps = {\n timestamps?: {\n /**\n * The date the address is created.\n */\n created_at?: string\n /**\n * The date the address is updated.\n */\n updated_at?: string\n }\n}\n\nexport type AccountAddressesError = {\n /**\n * The HTTP response code of the error.\n */\n status?: string\n /**\n * A brief summary of the error.\n */\n title?: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n}\n\nexport type AccountAddressesErrorResponse = {\n errors: Array<AccountAddressesError>\n}\n\n/**\n * The unique identifier.\n */\nexport type Uuid = string\n\nexport type MetaListPage = {\n /**\n * The maximum number of records per page for this response. You can set this value up to 100.\n */\n limit?: number\n /**\n * The current page.\n */\n current?: number\n /**\n * The current offset by number of records, not pages. Offset is zero-based.\n */\n offset?: number\n /**\n * The total page count.\n */\n total?: number\n}\n\nexport type MetaListResults = {\n /**\n * The total number of results after applying filters, if any, or all results.\n */\n total?: number\n}\n\n/**\n * The unique identifier for the Account Member that authenticated. This is useful if `account_member_self_management` is enabled in [Account Authentication Settings](/docs/api/accounts/get-v-2-settings-account-authentication), so that the user can update details for their account.\n */\nexport type MetaAccountMemberId = string\n\nexport type MetaList = {\n page?: MetaListPage\n results?: MetaListResults\n}\n\nexport type Account = {\n /**\n * Specifies the the type of object. Set this value to `account`.\n */\n type: string\n /**\n * Specifies the name of the account.\n */\n name: string\n /**\n * Specifies the legal name of the account.\n */\n legal_name?: string | null\n /**\n * Specifies the registration ID. If specified, this field is checked for uniqueness.\n */\n registration_id?: string | null\n /**\n * The unique attribute associated with the account. For example, this could be an external reference from a separate company system. The maximum length is 2048 characters. Default is `null`.\n */\n external_ref?: string\n}\n\nexport type ReadOnlyParentId = {\n /**\n * Specifies the ID of the parent account.\n */\n readonly parent_id?: string | null\n}\n\nexport type WritableParentId = {\n /**\n * Specifies the ID of the parent account, this field cannot be changed after creation.\n */\n parent_id?: string | null\n}\n\nexport type AccountResponse = Account &\n ReadOnlyParentId & {\n /**\n * The unique identifier for an Account.\n */\n id?: Uuid\n /**\n * Additional information for this realm. For more information, see [The meta object](https://elasticpath.dev/docs/commerce-cloud/accounts/using-account-management-api/account-management-api-overview#the-meta-object) section.\n */\n meta?: AccountManagementMetaTimestamps\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n }\n\n/**\n * Whether a user with an [Account Management Authentication Token](/docs/api/accounts/post-v-2-account-members-tokens) can update their own account member details. By default, this is `disabled`. Set to `update_only` if you want the user to be able to update their own account member details (e.g., name, email, and if applicable their username and password). The user can update their own account member details by updating their [User Authentication Info](/docs/authentication/single-sign-on/user-authentication-info-api/update-a-user-authentication-info) using the `account_member_id` retrieved from the `meta` in the response of [Generating an Account Management Authentication Token](/docs/api/accounts/post-v-2-account-members-tokens) as the `id` and find the authentication credentials to update by calling the [Get All User Authentication Password Profile Info](/docs/authentication/single-sign-on/user-authentication-password-profiles-api/get-all-user-authentication-password-profile-info) endpoint.\n */\nexport type AccountMemberSelfManagement = \"disabled\" | \"update_only\"\n\nexport type AccountAuthenticationSettings = {\n /**\n * Specifies the the type of object. Set this value to `account_authentication_settings`.\n */\n type?: string\n /**\n * Set to `true` to enable self signup.\n */\n enable_self_signup?: boolean\n /**\n * This will automatically create an account for each new account member, using the account member’s name as the account name.\n */\n auto_create_account_for_account_members?: boolean\n /**\n * Whether a user with an [Account Management Authentication Token](/docs/api/accounts/post-v-2-account-members-tokens) can update their own account member details. By default, this is `disabled`. Set to `update_only` if you want the user to be able to update their own account member details (e.g., name, email, and if applicable their username and password). The user can update their own account member details by updating their [User Authentication Info](/docs/authentication/single-sign-on/user-authentication-info-api/update-a-user-authentication-info) using the `account_member_id` retrieved from the `meta` in the response of [Generating an Account Management Authentication Token](/docs/api/accounts/post-v-2-account-members-tokens) as the `id` and find the authentication credentials to update by calling the [Get All User Authentication Password Profile Info](/docs/authentication/single-sign-on/user-authentication-password-profiles-api/get-all-user-authentication-password-profile-info) endpoint.\n */\n account_member_self_management?: \"disabled\" | \"update_only\"\n /**\n * The expiry time for Account Management Authentication Token in seconds. If you want to implement idle timout for you application, see [Implementing Idle Timeout](/guides/How-To/Accounts/implement-idle-timeout)\n */\n account_management_authentication_token_timeout_secs?: number\n}\n\nexport type AccountAuthenticationSettingsResponse =\n AccountAuthenticationSettings & {\n id?: Uuid\n relationships?: {\n authentication_realm?: {\n data?: {\n /**\n * The ID of the authentication realm entity.\n */\n id?: string\n /**\n * The type of the authentication realm entity.\n */\n type?: string\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n }\n }\n }\n meta?: {\n /**\n * The client ID to be used in Single Sign On authentication flows for accounts.\n */\n client_id?: string\n }\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n }\n\nexport type AccountMembershipSettings = {\n data?: {\n /**\n * Specifies the the type of object. Set this value to `account_membership_setting`.\n */\n type?: \"account_membership_setting\"\n /**\n * The number of accounts an account member can be associated with. You can set this value to any number up to 10,000.\n */\n membership_limit?: number\n }\n}\n\nexport type AccountMember = {\n /**\n * The unique identifier for the account member.\n */\n id?: string\n /**\n * The type of the object that is returned.\n */\n type?: string\n /**\n * The name of the account member.\n */\n name?: string\n /**\n * The email address of the account member.\n */\n email?: string\n}\n\nexport type AccountMemberResponse = AccountMember & {\n meta?: AccountManagementMetaTimestamps\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n}\n\nexport type AccountMembership = {\n /**\n * Specifies the unique identifier of the account member that the membership is associated with.\n */\n account_member_id?: string\n /**\n * Specifies the type of the object. Set this value to `account_membership`.\n */\n type?: string\n}\n\nexport type AccountMembershipResponse = {\n /**\n * Represents the unique identifier for the account membership.\n */\n id?: string\n /**\n * Represents the type of the object returned.\n */\n type?: string\n meta?: AccountManagementMetaTimestamps\n relationships?: {\n account_member?: {\n data?: {\n /**\n * Specifies the ID of the account member.\n */\n id?: string\n /**\n * Specifies the type of the account member.\n */\n type?: string\n }\n }\n }\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n}\n\nexport type AccountMembershipResponseUsingAccountMemberId = {\n /**\n * Represents the unique identifier for the account membership.\n */\n id?: string\n /**\n * Represents the type of the object returned.\n */\n type?: string\n meta?: AccountManagementMetaTimestamps\n relationships?: {\n account?: {\n data?: {\n /**\n * Specifies the ID of the account.\n */\n id?: string\n /**\n * Specifies the type of the Account.\n */\n type?: string\n }\n }\n }\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n}\n\nexport type AccountManagementAuthenticationToken = {\n /**\n * Specifies the type of the object. You must use `account_management_authentication_token`.\n */\n type?: string\n}\n\nexport type OpenIdConnectRequest = AccountManagementAuthenticationToken & {\n /**\n * Species the authentication mechanism. You must use `oidc`.\n */\n authentication_mechanism: string\n /**\n * Specifies the code returned from the OpenID Connect Provider authentication.\n */\n oauth_authorization_code: string\n /**\n * Specifies the URL of the front-end that handles the callback of the token.\n */\n oauth_redirect_uri: string\n /**\n * Specifies the Proof Key for Code Exchange (PKCE) code verifier corresponding to the code challenge supplied to the authorization endpoint. For more information about code verifier and challenge, see Generating a [Code Verifier and Challenge](https://elasticpath.dev/docs/commerce-cloud/authentication/single-sign-on/get-single-sign-on-customer-token#generate-proof-key-for-code-exchange-pkce-parameters).\n */\n oauth_code_verifier: string\n}\n\nexport type PasswordRequest = AccountManagementAuthenticationToken & {\n /**\n * Species the authentication mechanism. You must use `password`.\n */\n authentication_mechanism: string\n /**\n * The password profile ID. For more information, see [password profiles page](https://elasticpath.dev/docs/commerce-cloud/authentication/single-sign-on/password-profiles-api/overview).\n */\n password_profile_id: string\n /**\n * The username.\n */\n username: string\n /**\n * The password.\n */\n password: string\n}\n\nexport type SelfSignupRequest = AccountManagementAuthenticationToken & {\n /**\n * Species the authentication mechanism. You must use `self_signup`.\n */\n authentication_mechanism: string\n /**\n * The password profile ID. For more information, see [password profiles page](https://elasticpath.dev/docs/commerce-cloud/authentication/single-sign-on/password-profiles-api/overview).\n */\n password_profile_id: string\n /**\n * The username.\n */\n username: string\n /**\n * The password.\n */\n password: string\n /**\n * The name.\n */\n name: string\n /**\n * The email.\n */\n email: string\n}\n\nexport type PasswordlessRequest = AccountManagementAuthenticationToken & {\n /**\n * Species the authentication mechanism. You must use `passwordless`.\n */\n authentication_mechanism: string\n /**\n * The password profile ID. For more information, see [password profiles page](https://elasticpath.dev/docs/commerce-cloud/authentication/single-sign-on/password-profiles-api/overview).\n */\n password_profile_id: string\n /**\n * The username.\n */\n username: string\n /**\n * The one-time password token.\n */\n one_time_password_token: string\n}\n\nexport type SwitchingAccountRequest = AccountManagementAuthenticationToken & {\n /**\n * Species the authentication mechanism. You must use `account_management_authentication_token`.\n */\n authentication_mechanism: string\n}\n\nexport type AccountManagementAuthenticationTokenResponse = {\n /**\n * Specifies the type of the object.\n */\n type?: string\n /**\n * The name of the account that this token grants access to.\n */\n account_name?: string\n /**\n * The ID of the account that this token grants access to.\n */\n account_id?: string\n /**\n * The JWT authentication token that the shopper uses as the `EP-Account-Management-Authentication-Token` header [in all other endpoints](https://elasticpath.dev/docs/commerce-cloud/authentication/tokens/account-management-authentication-token).\n */\n token?: string\n /**\n * The epoch time that this token expires at. The time is set to 24 hours after the token is generated.\n */\n expires?: Date\n}\n\nexport type AccountManagementMetaTimestamps = {\n timestamps?: {\n /**\n * The date the account is created.\n */\n created_at?: string\n /**\n * The date the account is updated.\n */\n updated_at?: string\n }\n}\n\nexport type AccountManagementError = {\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * The HTTP response code of the error.\n */\n status: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n}\n\nexport type AccountManagementErrorResponse = {\n errors: Array<AccountManagementError>\n}\n\nexport type AuthenticationRealm = {\n id: string\n name: string\n type: \"authentication_realm\"\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n}\n\nexport type AuthenticationRealmResponse = {\n data: AuthenticationRealm\n links?: {\n self?: string\n }\n}\n\nexport type AuthenticationRealmListResponse = {\n data: Array<AuthenticationRealm>\n links?: {\n self?: string\n }\n}\n\nexport type AuthenticationRealmUpdateRequest = {\n data: {\n name: string\n }\n}\n\nexport type OidcProfile = {\n id: string\n type: \"openid_connect_profile\"\n client_id: string\n client_secret?: string\n redirect_uris: Array<string>\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n}\n\nexport type OidcProfileResponse = {\n data: OidcProfile\n links?: {\n self?: string\n }\n}\n\nexport type OidcProfileListResponse = {\n data: Array<OidcProfile>\n links?: {\n self?: string\n }\n}\n\nexport type OidcProfileCreateRequestWrapper = {\n data: {\n type: \"openid_connect_profile\"\n client_id: string\n client_secret?: string\n redirect_uris: Array<string>\n }\n}\n\nexport type OidcProfileUpdateRequestWrapper = {\n data: {\n id: string\n type: \"openid_connect_profile\"\n client_id: string\n client_secret?: string\n redirect_uris: Array<string>\n }\n}\n\nexport type PasswordProfile = {\n id: string\n type: \"password_profile\"\n name: string\n description?: string\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n}\n\nexport type PasswordProfileResponse = {\n data: PasswordProfile\n links?: {\n self?: string\n }\n}\n\nexport type PasswordProfileListResponse = {\n data: Array<PasswordProfile>\n links?: {\n self?: string\n }\n}\n\nexport type PasswordProfileCreateRequestWrapper = {\n data: {\n type: \"password_profile\"\n name: string\n description?: string\n }\n}\n\nexport type PasswordProfileUpdateRequestWrapper = {\n data: {\n id: string\n type: \"password_profile\"\n name: string\n description?: string\n }\n}\n\nexport type Purpose = \"reset_password\" | \"passwordless_authentication\"\n\nexport type OneTimePasswordTokenRequest = {\n type: \"one_time_password_token_request\"\n username: string\n purpose: \"reset_password\" | \"passwordless_authentication\"\n}\n\nexport type UserAuthenticationInfo = {\n id: string\n type: \"user_authentication_info\"\n username: string\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n}\n\nexport type UserAuthenticationInfoResponse = {\n data: UserAuthenticationInfo\n links?: {\n self?: string\n }\n}\n\nexport type UserAuthenticationInfoListResponse = {\n data: Array<UserAuthenticationInfo>\n links?: {\n self?: string\n }\n}\n\nexport type UserAuthenticationInfoCreateRequestWrapper = {\n data: {\n type: \"user_authentication_info\"\n username: string\n }\n}\n\nexport type UserAuthenticationInfoUpdateRequestWrapper = {\n data: {\n id: string\n type: \"user_authentication_info\"\n username: string\n }\n}\n\nexport type UserAuthenticationOidcProfileInfo = {\n id: string\n type: \"user_authentication_oidc_profile_info\"\n username: string\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n}\n\nexport type UserAuthenticationOidcProfileInfoResponse = {\n data: UserAuthenticationOidcProfileInfo\n links?: {\n self?: string\n }\n}\n\nexport type UserAuthenticationOidcProfileInfoListResponse = {\n data: Array<UserAuthenticationOidcProfileInfo>\n links?: {\n self?: string\n }\n}\n\nexport type UserAuthenticationOidcProfileInfoCreateRequestWrapper = {\n data: {\n type: \"user_authentication_oidc_profile_info\"\n username: string\n }\n}\n\nexport type UserAuthenticationOidcProfileInfoUpdateRequestWrapper = {\n data: {\n id: string\n type: \"user_authentication_oidc_profile_info\"\n username: string\n }\n}\n\nexport type PasswordProfileInfo = {\n /**\n * Unique identifier of the password profile info.\n */\n id: string\n username: string\n /**\n * Timestamps for creation and last update.\n */\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n type: \"user_authentication_password_profile_info\"\n /**\n * Identifier for the associated password profile.\n */\n password_profile_id: string\n}\n\nexport type PasswordProfileInfoResponse = {\n data: PasswordProfileInfo\n links?: {\n self?: string\n }\n}\n\nexport type PasswordProfileInfoListResponse = {\n data: Array<PasswordProfileInfo>\n links?: {\n self?: string\n }\n}\n\nexport type PasswordProfileInfoCreateRequestWrapper = {\n data: PasswordProfileInfoCreateRequest\n}\n\nexport type PasswordProfileInfoCreateRequest = {\n type: \"user_authentication_password_profile_info\"\n username: string\n password: string\n password_profile_id: string\n}\n\nexport type PasswordProfileInfoUpdateRequestWrapper = {\n data: PasswordProfileInfoUpdateRequest\n}\n\nexport type PasswordProfileInfoUpdateRequest = {\n id: string\n type: \"user_authentication_password_profile_info\"\n username: string\n password: string\n}\n\nexport type DataCreateCurrencies = {\n /**\n * Specifies the currency code. Example YEN.\n */\n code: string\n /**\n * Indicates how many decimal places the currency is formatted to.\n */\n decimal_places: number\n /**\n * Indicates the decimal point character.\n */\n decimal_point: string\n /**\n * Specifies whether this is the default currency or not. Either `true` or `false`.\n */\n default: boolean\n /**\n * Specifies if this currency is available for products. Either `true` or `false`.\n */\n enabled: boolean\n /**\n * Specifies the exchange rate from the default currency.\n */\n exchange_rate: number\n /**\n * Specifies how the price currency is displayed. For example, \"¥{price}\".\n */\n format: string\n /**\n * Indicates the thousand separator character.\n */\n thousand_separator: string\n /**\n * Represents the type represents the object being returned.\n */\n type: string\n}\n\nexport type RequestCreateCurrencies = {\n data?: DataCreateCurrencies\n}\n\nexport type DataUpdateCurrencies = {\n /**\n * Specifies whether this is the default currency or not. Either `true` or `false`.\n */\n default?: boolean\n}\n\nexport type RequestUpdateCurrencies = {\n data?: DataUpdateCurrencies\n}\n\nexport type ResponseCurrency = {\n /**\n * The unique identifier for this currency.\n */\n id?: string\n /**\n * Represents the type represents the object being returned.\n */\n type?: string\n /**\n * Specifies the currency code. For example, YEN.\n */\n code?: string\n /**\n * Specifies the exchange rate from the default currency.\n */\n exchange_rate?: number\n /**\n * Specifies how the price currency is displayed. For example, \"£{price}\".\n */\n format?: string\n /**\n * Indicates the decimal point character.\n */\n decimal_point?: string\n /**\n * Indicates the thousand separator character.\n */\n thousand_separator?: string\n /**\n * Indicates how many decimal places the currency is formatted to.\n */\n decimal_places?: number\n /**\n * Specifies whether this is the default currency or not. Either `true` or `false`.\n */\n default?: boolean\n /**\n * Specifies if this currency is available for products. Either `true` or `false`.\n */\n enabled?: boolean\n links?: SelfLink2\n meta?: ResponseMetaCurrency\n}\n\nexport type ResponseMetaCurrency = {\n timestamps?: Timestamps\n /**\n * Indicates whether the owner is store or org.\n */\n owner?: string\n}\n\nexport type Timestamps = {\n /**\n * Indicates the creation date of this currency.\n */\n created_at?: string\n /**\n * Indicates the updated date of this currency.\n */\n updated_at?: unknown\n}\n\nexport type SelfLink2 = {\n /**\n * Specifies the URL of this currency.\n */\n self?: string\n}\n\nexport type ResponseError = Array<unknown>\n\nexport type File = {\n /**\n * The unique identifier for this file.\n */\n id?: FilesUuid\n /**\n * The type represents the object being returned.\n */\n type?: string\n /**\n * The name of the file.\n */\n file_name?: string\n /**\n * The mime type of the file.\n */\n mime_type?: string\n /**\n * The size of the file. Required when uploading files.\n */\n file_size?: number\n /**\n * DEPRECATED Whether the file public or not. Required when uploading files.\n */\n public?: boolean\n meta?: FileMeta\n links?: FilesLinks\n link?: FileLink\n}\n\nexport type FileMeta = {\n /**\n * The date and time the file was created.\n */\n timestamps?: {\n /**\n * The date and time the file was created.\n */\n created_at?: string\n }\n /**\n * The file dimensions.\n */\n dimensions?: {\n /**\n * The width of the file.\n */\n width?: number\n /**\n * The height of the file.\n */\n height?: number\n }\n}\n\nexport type ResultsMeta = {\n /**\n * Contains the results for the entire collection.\n */\n page?: {\n /**\n * The maximum number of records for all pages.\n */\n limit?: number\n /**\n * The current offset by number of pages.\n */\n offset?: number\n /**\n * The current number of pages.\n */\n current?: number\n /**\n * The total number of records for the entire collection.\n */\n total?: number\n }\n /**\n * Contains the results for the entire collection.\n */\n results?: {\n /**\n * The total number of records for the entire collection.\n */\n total?: number\n }\n}\n\n/**\n * Links are used to allow you to move between requests.\n */\nexport type ResultsLinks = {\n /**\n * Single entities use a self parameter with a link to that specific resource.\n */\n self?: string | null\n /**\n * Always the first page.\n */\n first?: string | null\n /**\n * This is `null` if there is only one page.\n */\n last?: string | null\n}\n\n/**\n * The publicly available URL for this file.\n */\nexport type FileLink = {\n /**\n * The publicly available URL for this file.\n */\n href?: string\n}\n\nexport type FilesErrorResponse = {\n errors: Array<FilesError>\n}\n\n/**\n * Links are used to allow you to move between requests.\n */\nexport type FilesLinks = {\n /**\n * Single entities use a self parameter with a link to that specific resource.\n */\n self?: string\n}\n\nexport type FilesUuid = string\n\nexport type FilesError = {\n /**\n * The HTTP response code of the error.\n */\n status: number\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n /**\n * Internal request ID.\n */\n request_id?: string\n /**\n * Additional supporting meta data for the error.\n */\n meta?: {\n [key: string]: unknown\n }\n}\n\n/**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\nexport type AcceptLanguage = string\n\n/**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\nexport type Channel = string\n\n/**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\nexport type FilterCatalog = string\n\n/**\n * This endpoints supports filtering. See [Filtering](#filtering).\n *\n */\nexport type FilterHierarchy = string\n\n/**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\nexport type FilterNode = string\n\n/**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\nexport type FilterProduct = string\n\n/**\n * This endpoint supports filtering. See [Filtering](#filtering).\n *\n */\nexport type FilterRule = string\n\n/**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\nexport type Include = Array<\"files\" | \"main_image\" | \"component_products\">\n\n/**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\nexport type Limit = BigInt\n\n/**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\nexport type Offset = BigInt\n\n/**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\nexport type PricebookIdsForPriceSegmentationPreview = Array<string>\n\n/**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\nexport type Tag = string\n\nexport type CartInclude = Array<\n \"items\" | \"tax_items\" | \"custom_discounts\" | \"promotions\"\n>\n\n/**\n * For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint documentation to understand the attributes and operators an endpoint supports.\n *\n */\nexport type CartCheckoutFilter = string\n\nexport type OrdersInclude = Array<\"items\">\n\nexport type OrderInclude = Array<\"items\">\n\n/**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\nexport type CartCheckoutLimit = number\n\n/**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\nexport type CartCheckoutOffset = number\n\n/**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\nexport type OfferingInclude = Array<\"plans\" | \"pricing_options\" | \"features\">\n\n/**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\nexport type SubscriptionInclude = Array<\"plans\" | \"pricing_options\">\n\n/**\n * Some Subscriptions API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\nexport type SubscriptionsFilter = string\n\n/**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type SubscriptionsPageLimit = BigInt\n\n/**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type SubscriptionsPageOffset = BigInt\n\n/**\n * Some Inventories API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\nexport type InventoriesFilter = string\n\n/**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the the [**page length**](https://elasticpath.dev/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type InventoriesPageLimit = number\n\n/**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [**page length**](https://elasticpath.dev/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type InventoriesPageOffset = number\n\n/**\n * Specifies the filter attributes.\n */\nexport type Filter = string\n\n/**\n * The number of records per page.\n */\nexport type PageLimit = BigInt\n\n/**\n * The number of records to offset the results by.\n */\nexport type PageOffset = BigInt\n\n/**\n * Parameter to retrieve more information about any related resources like account members.\n */\nexport type IncludeAccountMember = string\n\n/**\n * Parameter to retrieve more information about any related resources like accounts.\n */\nexport type IncludeAccount = string\n\n/**\n * Supported attributes are `created_at`, `email`, `id`, `name`, or `updated_at`. When specified, the results are sorted in ascending order based on the value of the field. To sort in descending order, prefix the attribute with `-`, for example, `-updated_at`. The default sort order is `created_at` in descending order. For more information, see [Sorting](/guides/Getting-Started/sorting).\n */\nexport type Sort = string\n\n/**\n *\n * Filtering is available for this endpoint. See [Filtering](/docs/api/pxm/files/get-all-files#filtering).\n *\n */\nexport type Filesfilter = string\n\n/**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [**page length**](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type FilespageOffset = string\n\n/**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the the [**page length**](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type FilespageLimit = string\n\n/**\n * The bundle configuration.\n */\nexport type BundleConfigurationData2 = BundleConfigurationData\n\n/**\n * A list of product id or sku and bundle configuration for cart.\n */\nexport type ProductsForCartConfiguration2 = ProductsForCartConfiguration\n\nexport type GetByContextReleaseData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path?: never\n query?: never\n url: \"/catalog\"\n}\n\nexport type GetByContextReleaseErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextReleaseError =\n GetByContextReleaseErrors[keyof GetByContextReleaseErrors]\n\nexport type GetByContextReleaseResponses = {\n /**\n * The catalog.\n */\n 200: ReleaseData\n}\n\nexport type GetByContextReleaseResponse =\n GetByContextReleaseResponses[keyof GetByContextReleaseResponses]\n\nexport type GetByContextAllHierarchiesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path?: never\n query?: {\n /**\n * This endpoints supports filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/hierarchies\"\n}\n\nexport type GetByContextAllHierarchiesErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextAllHierarchiesError =\n GetByContextAllHierarchiesErrors[keyof GetByContextAllHierarchiesErrors]\n\nexport type GetByContextAllHierarchiesResponses = {\n /**\n * The hierarchies of the catalog.\n */\n 200: HierarchyListData\n}\n\nexport type GetByContextAllHierarchiesResponse =\n GetByContextAllHierarchiesResponses[keyof GetByContextAllHierarchiesResponses]\n\nexport type GetByContextHierarchyData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: never\n url: \"/catalog/hierarchies/{hierarchy_id}\"\n}\n\nexport type GetByContextHierarchyErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextHierarchyError =\n GetByContextHierarchyErrors[keyof GetByContextHierarchyErrors]\n\nexport type GetByContextHierarchyResponses = {\n /**\n * The catalog hierarchy.\n */\n 200: HierarchyData\n}\n\nexport type GetByContextHierarchyResponse =\n GetByContextHierarchyResponses[keyof GetByContextHierarchyResponses]\n\nexport type GetByContextHierarchyNodesData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/hierarchies/{hierarchy_id}/nodes\"\n}\n\nexport type GetByContextHierarchyNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextHierarchyNodesError =\n GetByContextHierarchyNodesErrors[keyof GetByContextHierarchyNodesErrors]\n\nexport type GetByContextHierarchyNodesResponses = {\n /**\n * The child nodes of a catalog hierarchy.\n */\n 200: NodeListData\n}\n\nexport type GetByContextHierarchyNodesResponse =\n GetByContextHierarchyNodesResponses[keyof GetByContextHierarchyNodesResponses]\n\nexport type GetByContextHierarchyChildNodesData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/hierarchies/{hierarchy_id}/children\"\n}\n\nexport type GetByContextHierarchyChildNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextHierarchyChildNodesError =\n GetByContextHierarchyChildNodesErrors[keyof GetByContextHierarchyChildNodesErrors]\n\nexport type GetByContextHierarchyChildNodesResponses = {\n /**\n * The child nodes of a catalog hierarchy.\n */\n 200: NodeListData\n}\n\nexport type GetByContextHierarchyChildNodesResponse =\n GetByContextHierarchyChildNodesResponses[keyof GetByContextHierarchyChildNodesResponses]\n\nexport type GetByContextAllNodesData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path?: never\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/nodes\"\n}\n\nexport type GetByContextAllNodesErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextAllNodesError =\n GetByContextAllNodesErrors[keyof GetByContextAllNodesErrors]\n\nexport type GetByContextAllNodesResponses = {\n /**\n * The nodes of the catalog.\n */\n 200: NodeListData\n}\n\nexport type GetByContextAllNodesResponse =\n GetByContextAllNodesResponses[keyof GetByContextAllNodesResponses]\n\nexport type GetByContextNodeData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: never\n url: \"/catalog/nodes/{node_id}\"\n}\n\nexport type GetByContextNodeErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextNodeError =\n GetByContextNodeErrors[keyof GetByContextNodeErrors]\n\nexport type GetByContextNodeResponses = {\n /**\n * The catalog node.\n */\n 200: NodeData\n}\n\nexport type GetByContextNodeResponse =\n GetByContextNodeResponses[keyof GetByContextNodeResponses]\n\nexport type GetByContextChildNodesData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/nodes/{node_id}/relationships/children\"\n}\n\nexport type GetByContextChildNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextChildNodesError =\n GetByContextChildNodesErrors[keyof GetByContextChildNodesErrors]\n\nexport type GetByContextChildNodesResponses = {\n /**\n * The child nodes of a catalog node.\n */\n 200: NodeListData\n}\n\nexport type GetByContextChildNodesResponse =\n GetByContextChildNodesResponses[keyof GetByContextChildNodesResponses]\n\nexport type GetByContextAllProductsData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path?: never\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/products\"\n}\n\nexport type GetByContextAllProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextAllProductsError =\n GetByContextAllProductsErrors[keyof GetByContextAllProductsErrors]\n\nexport type GetByContextAllProductsResponses = {\n /**\n * The products of a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetByContextAllProductsResponse =\n GetByContextAllProductsResponses[keyof GetByContextAllProductsResponses]\n\nexport type GetByContextProductData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n }\n url: \"/catalog/products/{product_id}\"\n}\n\nexport type GetByContextProductErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextProductError =\n GetByContextProductErrors[keyof GetByContextProductErrors]\n\nexport type GetByContextProductResponses = {\n /**\n * The product of a catalog.\n */\n 200: ProductData\n}\n\nexport type GetByContextProductResponse =\n GetByContextProductResponses[keyof GetByContextProductResponses]\n\nexport type GetByContextAllRelatedProductsData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The product ID.\n */\n product_id: string\n /**\n * The custom relationship slug.\n */\n custom_relationship_slug: string\n }\n query?: {\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/products/{product_id}/relationships/{custom_relationship_slug}/products\"\n}\n\nexport type GetByContextAllRelatedProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextAllRelatedProductsError =\n GetByContextAllRelatedProductsErrors[keyof GetByContextAllRelatedProductsErrors]\n\nexport type GetByContextAllRelatedProductsResponses = {\n /**\n * The related products of a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetByContextAllRelatedProductsResponse =\n GetByContextAllRelatedProductsResponses[keyof GetByContextAllRelatedProductsResponses]\n\nexport type GetByContextComponentProductIdsData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/products/{product_id}/relationships/component_products\"\n}\n\nexport type GetByContextComponentProductIdsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextComponentProductIdsError =\n GetByContextComponentProductIdsErrors[keyof GetByContextComponentProductIdsErrors]\n\nexport type GetByContextComponentProductIdsResponses = {\n /**\n * The list of component product IDs of a bundle product from a catalog.\n */\n 200: ProductReferenceListData\n}\n\nexport type GetByContextComponentProductIdsResponse =\n GetByContextComponentProductIdsResponses[keyof GetByContextComponentProductIdsResponses]\n\nexport type GetByContextChildProductsData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/products/{product_id}/relationships/children\"\n}\n\nexport type GetByContextChildProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextChildProductsError =\n GetByContextChildProductsErrors[keyof GetByContextChildProductsErrors]\n\nexport type GetByContextChildProductsResponses = {\n /**\n * The list of child products of a parent product from a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetByContextChildProductsResponse =\n GetByContextChildProductsResponses[keyof GetByContextChildProductsResponses]\n\nexport type GetByContextProductsForHierarchyData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/hierarchies/{hierarchy_id}/products\"\n}\n\nexport type GetByContextProductsForHierarchyErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextProductsForHierarchyError =\n GetByContextProductsForHierarchyErrors[keyof GetByContextProductsForHierarchyErrors]\n\nexport type GetByContextProductsForHierarchyResponses = {\n /**\n * The products of a catalog hierarchy.\n */\n 200: ProductListData\n}\n\nexport type GetByContextProductsForHierarchyResponse =\n GetByContextProductsForHierarchyResponses[keyof GetByContextProductsForHierarchyResponses]\n\nexport type GetByContextProductsForNodeData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/nodes/{node_id}/relationships/products\"\n}\n\nexport type GetByContextProductsForNodeErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextProductsForNodeError =\n GetByContextProductsForNodeErrors[keyof GetByContextProductsForNodeErrors]\n\nexport type GetByContextProductsForNodeResponses = {\n /**\n * The products of a catalog node.\n */\n 200: ProductListData\n}\n\nexport type GetByContextProductsForNodeResponse =\n GetByContextProductsForNodeResponses[keyof GetByContextProductsForNodeResponses]\n\nexport type ConfigureByContextProductData = {\n /**\n * The bundle configuration.\n */\n body: BundleConfigurationData2\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n }\n url: \"/catalog/products/{product_id}/configure\"\n}\n\nexport type ConfigureByContextProductErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type ConfigureByContextProductError =\n ConfigureByContextProductErrors[keyof ConfigureByContextProductErrors]\n\nexport type ConfigureByContextProductResponses = {\n /**\n * The configured product of a catalog.\n */\n 200: ProductData\n}\n\nexport type ConfigureByContextProductResponse =\n ConfigureByContextProductResponses[keyof ConfigureByContextProductResponses]\n\nexport type GetCatalogsData = {\n body?: never\n path?: never\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs\"\n}\n\nexport type GetCatalogsErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetCatalogsError = GetCatalogsErrors[keyof GetCatalogsErrors]\n\nexport type GetCatalogsResponses = {\n /**\n * The list of catalogs.\n */\n 200: CatalogListData\n}\n\nexport type GetCatalogsResponse =\n GetCatalogsResponses[keyof GetCatalogsResponses]\n\nexport type CreateCatalogData = {\n /**\n * Creates a catalog with the following attributes.\n */\n body: CatalogCreateData\n path?: never\n query?: never\n url: \"/catalogs\"\n}\n\nexport type CreateCatalogErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type CreateCatalogError = CreateCatalogErrors[keyof CreateCatalogErrors]\n\nexport type CreateCatalogResponses = {\n /**\n * The created catalog\n */\n 201: CatalogData\n}\n\nexport type CreateCatalogResponse =\n CreateCatalogResponses[keyof CreateCatalogResponses]\n\nexport type DeleteCatalogByIdData = {\n body?: never\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}\"\n}\n\nexport type DeleteCatalogByIdErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type DeleteCatalogByIdError =\n DeleteCatalogByIdErrors[keyof DeleteCatalogByIdErrors]\n\nexport type DeleteCatalogByIdResponses = {\n /**\n * A 204 response indicates that the catalog has been deleted.\n */\n 204: void\n}\n\nexport type DeleteCatalogByIdResponse =\n DeleteCatalogByIdResponses[keyof DeleteCatalogByIdResponses]\n\nexport type GetCatalogByIdData = {\n body?: never\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}\"\n}\n\nexport type GetCatalogByIdErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetCatalogByIdError =\n GetCatalogByIdErrors[keyof GetCatalogByIdErrors]\n\nexport type GetCatalogByIdResponses = {\n /**\n * The catalog.\n */\n 200: CatalogData\n}\n\nexport type GetCatalogByIdResponse =\n GetCatalogByIdResponses[keyof GetCatalogByIdResponses]\n\nexport type UpdateCatalogData = {\n /**\n * Updated catalog.\n */\n body: CatalogUpdateData\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}\"\n}\n\nexport type UpdateCatalogErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type UpdateCatalogError = UpdateCatalogErrors[keyof UpdateCatalogErrors]\n\nexport type UpdateCatalogResponses = {\n /**\n * An updated catalog with the following attributes.\n */\n 200: CatalogData\n}\n\nexport type UpdateCatalogResponse =\n UpdateCatalogResponses[keyof UpdateCatalogResponses]\n\nexport type DeleteReleasesData = {\n body?: never\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases\"\n}\n\nexport type DeleteReleasesErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type DeleteReleasesError =\n DeleteReleasesErrors[keyof DeleteReleasesErrors]\n\nexport type DeleteReleasesResponses = {\n /**\n * A 204 response indicates that the releases have been deleted.\n */\n 204: void\n}\n\nexport type DeleteReleasesResponse =\n DeleteReleasesResponses[keyof DeleteReleasesResponses]\n\nexport type GetReleasesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases\"\n}\n\nexport type GetReleasesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetReleasesError = GetReleasesErrors[keyof GetReleasesErrors]\n\nexport type GetReleasesResponses = {\n /**\n * The list of catalogs.\n */\n 200: ReleaseListData\n}\n\nexport type GetReleasesResponse =\n GetReleasesResponses[keyof GetReleasesResponses]\n\nexport type PublishReleaseData = {\n /**\n * Options for catalog release publishing\n */\n body?: CatalogReleaseCreateData\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases\"\n}\n\nexport type PublishReleaseErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type PublishReleaseError =\n PublishReleaseErrors[keyof PublishReleaseErrors]\n\nexport type PublishReleaseResponses = {\n /**\n * Publishes a catalog release with the following attributes.\n */\n 201: ReleaseData\n}\n\nexport type PublishReleaseResponse =\n PublishReleaseResponses[keyof PublishReleaseResponses]\n\nexport type DeleteReleaseByIdData = {\n body?: never\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases/{release_id}\"\n}\n\nexport type DeleteReleaseByIdErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type DeleteReleaseByIdError =\n DeleteReleaseByIdErrors[keyof DeleteReleaseByIdErrors]\n\nexport type DeleteReleaseByIdResponses = {\n /**\n * A 204 response indicates that the release has been deleted.\n */\n 204: void\n}\n\nexport type DeleteReleaseByIdResponse =\n DeleteReleaseByIdResponses[keyof DeleteReleaseByIdResponses]\n\nexport type GetReleaseByIdData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases/{release_id}\"\n}\n\nexport type GetReleaseByIdErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetReleaseByIdError =\n GetReleaseByIdErrors[keyof GetReleaseByIdErrors]\n\nexport type GetReleaseByIdResponses = {\n /**\n * The catalog.\n */\n 200: ReleaseData\n}\n\nexport type GetReleaseByIdResponse =\n GetReleaseByIdResponses[keyof GetReleaseByIdResponses]\n\nexport type GetRulesData = {\n body?: never\n path?: never\n query?: {\n /**\n * This endpoint supports filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/rules\"\n}\n\nexport type GetRulesErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetRulesError = GetRulesErrors[keyof GetRulesErrors]\n\nexport type GetRulesResponses = {\n /**\n * The list of catalog rules.\n */\n 200: RuleListData\n}\n\nexport type GetRulesResponse = GetRulesResponses[keyof GetRulesResponses]\n\nexport type CreateRuleData = {\n /**\n * Creates a catalog rule with the following attributes.\n */\n body: RuleCreateData\n path?: never\n query?: never\n url: \"/catalogs/rules\"\n}\n\nexport type CreateRuleErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type CreateRuleError = CreateRuleErrors[keyof CreateRuleErrors]\n\nexport type CreateRuleResponses = {\n /**\n * The created catalog rule\n */\n 201: RuleData\n}\n\nexport type CreateRuleResponse = CreateRuleResponses[keyof CreateRuleResponses]\n\nexport type DeleteRuleByIdData = {\n body?: never\n path: {\n /**\n * The catalog rule ID.\n */\n catalog_rule_id: string\n }\n query?: never\n url: \"/catalogs/rules/{catalog_rule_id}\"\n}\n\nexport type DeleteRuleByIdErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type DeleteRuleByIdError =\n DeleteRuleByIdErrors[keyof DeleteRuleByIdErrors]\n\nexport type DeleteRuleByIdResponses = {\n /**\n * A 204 response indicates that the catalog rule has been deleted.\n */\n 204: void\n}\n\nexport type DeleteRuleByIdResponse =\n DeleteRuleByIdResponses[keyof DeleteRuleByIdResponses]\n\nexport type GetRuleByIdData = {\n body?: never\n path: {\n /**\n * The catalog rule ID.\n */\n catalog_rule_id: string\n }\n query?: never\n url: \"/catalogs/rules/{catalog_rule_id}\"\n}\n\nexport type GetRuleByIdErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetRuleByIdError = GetRuleByIdErrors[keyof GetRuleByIdErrors]\n\nexport type GetRuleByIdResponses = {\n /**\n * The catalog rile.\n */\n 200: RuleData\n}\n\nexport type GetRuleByIdResponse =\n GetRuleByIdResponses[keyof GetRuleByIdResponses]\n\nexport type UpdateRuleData = {\n /**\n * An updated catalog rule with the following attributes.\n */\n body: RuleUpdateData\n path: {\n /**\n * The catalog rule ID.\n */\n catalog_rule_id: string\n }\n query?: never\n url: \"/catalogs/rules/{catalog_rule_id}\"\n}\n\nexport type UpdateRuleErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type UpdateRuleError = UpdateRuleErrors[keyof UpdateRuleErrors]\n\nexport type UpdateRuleResponses = {\n /**\n * An Updated catalog rule with the following attributes.\n */\n 200: RuleData\n}\n\nexport type UpdateRuleResponse = UpdateRuleResponses[keyof UpdateRuleResponses]\n\nexport type GetAllHierarchiesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n }\n query?: {\n /**\n * This endpoints supports filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/hierarchies\"\n}\n\nexport type GetAllHierarchiesErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetAllHierarchiesError =\n GetAllHierarchiesErrors[keyof GetAllHierarchiesErrors]\n\nexport type GetAllHierarchiesResponses = {\n /**\n * The hierarchies of a catalog.\n */\n 200: HierarchyListData\n}\n\nexport type GetAllHierarchiesResponse =\n GetAllHierarchiesResponses[keyof GetAllHierarchiesResponses]\n\nexport type GetHierarchyData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases/{release_id}/hierarchies/{hierarchy_id}\"\n}\n\nexport type GetHierarchyErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetHierarchyError = GetHierarchyErrors[keyof GetHierarchyErrors]\n\nexport type GetHierarchyResponses = {\n /**\n * The catalog hierarchy.\n */\n 200: HierarchyData\n}\n\nexport type GetHierarchyResponse =\n GetHierarchyResponses[keyof GetHierarchyResponses]\n\nexport type GetHierarchyNodesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/hierarchies/{hierarchy_id}/nodes\"\n}\n\nexport type GetHierarchyNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetHierarchyNodesError =\n GetHierarchyNodesErrors[keyof GetHierarchyNodesErrors]\n\nexport type GetHierarchyNodesResponses = {\n /**\n * The child nodes of a catalog hierarchy.\n */\n 200: NodeListData\n}\n\nexport type GetHierarchyNodesResponse =\n GetHierarchyNodesResponses[keyof GetHierarchyNodesResponses]\n\nexport type GetHierarchyChildNodesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/hierarchies/{hierarchy_id}/children\"\n}\n\nexport type GetHierarchyChildNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetHierarchyChildNodesError =\n GetHierarchyChildNodesErrors[keyof GetHierarchyChildNodesErrors]\n\nexport type GetHierarchyChildNodesResponses = {\n /**\n * The child nodes of a catalog hierarchy.\n */\n 200: NodeListData\n}\n\nexport type GetHierarchyChildNodesResponse =\n GetHierarchyChildNodesResponses[keyof GetHierarchyChildNodesResponses]\n\nexport type GetAllNodesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/nodes\"\n}\n\nexport type GetAllNodesErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetAllNodesError = GetAllNodesErrors[keyof GetAllNodesErrors]\n\nexport type GetAllNodesResponses = {\n /**\n * The nodes of a catalog.\n */\n 200: NodeListData\n}\n\nexport type GetAllNodesResponse =\n GetAllNodesResponses[keyof GetAllNodesResponses]\n\nexport type GetNodeData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases/{release_id}/nodes/{node_id}\"\n}\n\nexport type GetNodeErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetNodeError = GetNodeErrors[keyof GetNodeErrors]\n\nexport type GetNodeResponses = {\n /**\n * The catalog node.\n */\n 200: NodeData\n}\n\nexport type GetNodeResponse = GetNodeResponses[keyof GetNodeResponses]\n\nexport type GetChildNodesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/nodes/{node_id}/relationships/children\"\n}\n\nexport type GetChildNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetChildNodesError = GetChildNodesErrors[keyof GetChildNodesErrors]\n\nexport type GetChildNodesResponses = {\n /**\n * The child nodes of a catalog node.\n */\n 200: NodeListData\n}\n\nexport type GetChildNodesResponse =\n GetChildNodesResponses[keyof GetChildNodesResponses]\n\nexport type GetAllProductsData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/products\"\n}\n\nexport type GetAllProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetAllProductsError =\n GetAllProductsErrors[keyof GetAllProductsErrors]\n\nexport type GetAllProductsResponses = {\n /**\n * The products of a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetAllProductsResponse =\n GetAllProductsResponses[keyof GetAllProductsResponses]\n\nexport type GetProductData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/products/{product_id}\"\n}\n\nexport type GetProductErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetProductError = GetProductErrors[keyof GetProductErrors]\n\nexport type GetProductResponses = {\n /**\n * The product of a catalog.\n */\n 200: ProductData\n}\n\nexport type GetProductResponse = GetProductResponses[keyof GetProductResponses]\n\nexport type GetAllRelatedProductsData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The product ID.\n */\n product_id: string\n /**\n * The custom relationship slug.\n */\n custom_relationship_slug: string\n }\n query?: {\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/products/{product_id}/relationships/{custom_relationship_slug}/products\"\n}\n\nexport type GetAllRelatedProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetAllRelatedProductsError =\n GetAllRelatedProductsErrors[keyof GetAllRelatedProductsErrors]\n\nexport type GetAllRelatedProductsResponses = {\n /**\n * The related products of a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetAllRelatedProductsResponse =\n GetAllRelatedProductsResponses[keyof GetAllRelatedProductsResponses]\n\nexport type GetComponentProductIdsData = {\n body?: never\n headers?: {\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/products/{product_id}/relationships/component_products\"\n}\n\nexport type GetComponentProductIdsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetComponentProductIdsError =\n GetComponentProductIdsErrors[keyof GetComponentProductIdsErrors]\n\nexport type GetComponentProductIdsResponses = {\n /**\n * The list of component product IDs of a specific bundle product from a catalog.\n */\n 200: ProductReferenceListData\n}\n\nexport type GetComponentProductIdsResponse =\n GetComponentProductIdsResponses[keyof GetComponentProductIdsResponses]\n\nexport type GetChildProductsData = {\n body?: never\n headers?: {\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/products/{product_id}/relationships/children\"\n}\n\nexport type GetChildProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetChildProductsError =\n GetChildProductsErrors[keyof GetChildProductsErrors]\n\nexport type GetChildProductsResponses = {\n /**\n * The list of child products of a specific base product from a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetChildProductsResponse =\n GetChildProductsResponses[keyof GetChildProductsResponses]\n\nexport type GetProductsForHierarchyData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/hierarchies/{hierarchy_id}/products\"\n}\n\nexport type GetProductsForHierarchyErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetProductsForHierarchyError =\n GetProductsForHierarchyErrors[keyof GetProductsForHierarchyErrors]\n\nexport type GetProductsForHierarchyResponses = {\n /**\n * The products of a catalog hierarchy.\n */\n 200: ProductListData\n}\n\nexport type GetProductsForHierarchyResponse =\n GetProductsForHierarchyResponses[keyof GetProductsForHierarchyResponses]\n\nexport type GetProductsForNodeData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: {\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/nodes/{node_id}/relationships/products\"\n}\n\nexport type GetProductsForNodeErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetProductsForNodeError =\n GetProductsForNodeErrors[keyof GetProductsForNodeErrors]\n\nexport type GetProductsForNodeResponses = {\n /**\n * The products of a catalog node.\n */\n 200: ProductListData\n}\n\nexport type GetProductsForNodeResponse =\n GetProductsForNodeResponses[keyof GetProductsForNodeResponses]\n\nexport type GetCartsData = {\n body?: never\n headers?: {\n /**\n * An Account Management Authentication token to access a specific account's carts.\n */\n \"EP-Account-Management-Authentication-Token\"?: string\n /**\n * A customer token to access a specific customer's carts.\n */\n \"x-moltin-customer-token\"?: string\n }\n path?: never\n query?: never\n url: \"/v2/carts\"\n}\n\nexport type GetCartsErrors = {\n /**\n * Bad Request\n */\n 400: {\n errors?: Array<{\n detail?: string\n title?: string\n }>\n }\n /**\n * Unauthorized call\n */\n 403: ResponseErrorResponse\n}\n\nexport type GetCartsError = GetCartsErrors[keyof GetCartsErrors]\n\nexport type GetCartsResponses = {\n 200: CartCollectionResponse\n}\n\nexport type GetCartsResponse = GetCartsResponses[keyof GetCartsResponses]\n\nexport type CreateACartData = {\n body?: CartsRequest\n headers?: {\n /**\n * A customer token to be associated with the cart.\n */\n \"x-moltin-customer-token\"?: string\n }\n path?: never\n query?: never\n url: \"/v2/carts\"\n}\n\nexport type CreateACartErrors = {\n /**\n * Bad Request\n */\n 400: {\n errors?: Array<{\n detail?: string\n status?: number\n title?: string\n }>\n }\n /**\n * Unauthorized call\n */\n 403: ResponseErrorResponse\n}\n\nexport type CreateACartError = CreateACartErrors[keyof CreateACartErrors]\n\nexport type CreateACartResponses = {\n 201: CartEntityResponse\n}\n\nexport type CreateACartResponse =\n CreateACartResponses[keyof CreateACartResponses]\n\nexport type DeleteACartData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart that you want to delete.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}\"\n}\n\nexport type DeleteACartErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n}\n\nexport type DeleteACartError = DeleteACartErrors[keyof DeleteACartErrors]\n\nexport type DeleteACartResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteACartResponse =\n DeleteACartResponses[keyof DeleteACartResponses]\n\nexport type GetACartData = {\n body?: never\n path: {\n /**\n * The unique identifier for this cart that you created.\n */\n cartID: string\n }\n query?: {\n include?: Array<\"items\" | \"tax_items\" | \"custom_discounts\" | \"promotions\">\n }\n url: \"/v2/carts/{cartID}\"\n}\n\nexport type GetACartErrors = {\n /**\n * Bad Request\n */\n 400: {\n errors?: Array<{\n detail?: string\n status?: number\n title?: string\n }>\n }\n}\n\nexport type GetACartError = GetACartErrors[keyof GetACartErrors]\n\nexport type GetACartResponses = {\n /**\n * OK\n */\n 200: CartEntityResponse\n}\n\nexport type GetACartResponse = GetACartResponses[keyof GetACartResponses]\n\nexport type UpdateACartData = {\n body?: CartsRequest\n path: {\n /**\n * The unique identifier of a cart created by you.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}\"\n}\n\nexport type UpdateACartErrors = {\n /**\n * Unauthorized call\n */\n 403: ResponseErrorResponse\n /**\n * Unprocessable Content\n */\n 422: {\n errors?: Array<{\n detail?: string\n status?: number\n title?: string\n }>\n }\n}\n\nexport type UpdateACartError = UpdateACartErrors[keyof UpdateACartErrors]\n\nexport type UpdateACartResponses = {\n 200: CartEntityResponse\n}\n\nexport type UpdateACartResponse =\n UpdateACartResponses[keyof UpdateACartResponses]\n\nexport type DeleteAllCartItemsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart created by you.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items\"\n}\n\nexport type DeleteAllCartItemsErrors = {\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type DeleteAllCartItemsError =\n DeleteAllCartItemsErrors[keyof DeleteAllCartItemsErrors]\n\nexport type DeleteAllCartItemsResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteAllCartItemsResponse =\n DeleteAllCartItemsResponses[keyof DeleteAllCartItemsResponses]\n\nexport type GetCartItemsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart that you created.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items\"\n}\n\nexport type GetCartItemsResponses = {\n 200: CartItemsResponse\n}\n\nexport type GetCartItemsResponse =\n GetCartItemsResponses[keyof GetCartItemsResponses]\n\nexport type ManageCartsData = {\n body?:\n | CartItemObjectRequest\n | SubscriptionItemObject\n | CartMergeObjectRequest\n | CustomItemObject\n | ReOrderObjectRequest\n | PromotionItemObject\n | BulkAddItemsRequest\n path: {\n /**\n * The unique identifier of the cart that you created.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items\"\n}\n\nexport type ManageCartsErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Not Found\n */\n 404: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n /**\n * Internal Server Error\n */\n 500: ResponseErrorResponse\n}\n\nexport type ManageCartsError = ManageCartsErrors[keyof ManageCartsErrors]\n\nexport type ManageCartsResponses = {\n 201: CartsResponse\n}\n\nexport type ManageCartsResponse =\n ManageCartsResponses[keyof ManageCartsResponses]\n\nexport type BulkUpdateItemsInCartData = {\n body?: BulkUpdateCartsItems\n path: {\n /**\n * The unique identifier of the cart that you created.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items\"\n}\n\nexport type BulkUpdateItemsInCartErrors = {\n /**\n * Insufficient Stock\n */\n 400: ResponseErrorResponse\n /**\n * Not Found\n */\n 404: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type BulkUpdateItemsInCartError =\n BulkUpdateItemsInCartErrors[keyof BulkUpdateItemsInCartErrors]\n\nexport type BulkUpdateItemsInCartResponses = {\n 200: unknown\n}\n\nexport type DeleteACartItemData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart created by you.\n */\n cartID: string\n /**\n * The unique identifier of the cart that you want to delete.\n */\n cartitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}\"\n}\n\nexport type DeleteACartItemResponses = {\n 200: CartsResponse\n}\n\nexport type DeleteACartItemResponse =\n DeleteACartItemResponses[keyof DeleteACartItemResponses]\n\nexport type UpdateACartItemData = {\n body?: UpdateCartsItems\n path: {\n /**\n * A unique identifier of the cart that you created.\n */\n cartID: string\n /**\n * A unique identifier of the cart item.\n */\n cartitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}\"\n}\n\nexport type UpdateACartItemErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Not Found\n */\n 404: ResponseErrorResponse\n}\n\nexport type UpdateACartItemError =\n UpdateACartItemErrors[keyof UpdateACartItemErrors]\n\nexport type UpdateACartItemResponses = {\n 200: CartsResponse\n}\n\nexport type UpdateACartItemResponse =\n UpdateACartItemResponses[keyof UpdateACartItemResponses]\n\nexport type DeleteAccountCartAssociationData = {\n body?: CartsRelationshipsAccountsData\n headers?: {\n /**\n * An Account Management Authentication token to access a specific account's carts.\n */\n \"EP-Account-Management-Authentication-Token\"?: string\n }\n path: {\n /**\n * The ID for the cart created by the account.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/relationships/accounts\"\n}\n\nexport type DeleteAccountCartAssociationErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Forbidden\n */\n 403: ResponseErrorResponse\n}\n\nexport type DeleteAccountCartAssociationError =\n DeleteAccountCartAssociationErrors[keyof DeleteAccountCartAssociationErrors]\n\nexport type DeleteAccountCartAssociationResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteAccountCartAssociationResponse =\n DeleteAccountCartAssociationResponses[keyof DeleteAccountCartAssociationResponses]\n\nexport type CreateAccountCartAssociationData = {\n body?: CartsRelationshipsAccountsData\n headers?: {\n /**\n * An Account Management Authentication token to access a specific account's carts.\n */\n \"EP-Account-Management-Authentication-Token\"?: string\n }\n path: {\n /**\n * The ID for the cart created by the account. Ensure that you follow the guidelines for [Safe Characters](/guides/Getting-Started/safe-characters).\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/relationships/accounts\"\n}\n\nexport type CreateAccountCartAssociationErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Forbidden\n */\n 403: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type CreateAccountCartAssociationError =\n CreateAccountCartAssociationErrors[keyof CreateAccountCartAssociationErrors]\n\nexport type CreateAccountCartAssociationResponses = {\n /**\n * OK\n */\n 200: CartsRelationshipsAccountsData\n /**\n * No Content is sent back in case the account has already been associated to the cart.\n */\n 204: void\n}\n\nexport type CreateAccountCartAssociationResponse =\n CreateAccountCartAssociationResponses[keyof CreateAccountCartAssociationResponses]\n\nexport type DeleteCustomerCartAssociationData = {\n body?: CartsRelationshipsCustomersData\n headers?: {\n /**\n * A customer token to access a specific customer's carts.\n */\n \"x-moltin-customer-token\"?: string\n }\n path: {\n /**\n * The ID for the cart created by the customer.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/relationships/customers\"\n}\n\nexport type DeleteCustomerCartAssociationErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Forbidden\n */\n 403: ResponseErrorResponse\n}\n\nexport type DeleteCustomerCartAssociationError =\n DeleteCustomerCartAssociationErrors[keyof DeleteCustomerCartAssociationErrors]\n\nexport type DeleteCustomerCartAssociationResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteCustomerCartAssociationResponse =\n DeleteCustomerCartAssociationResponses[keyof DeleteCustomerCartAssociationResponses]\n\nexport type CreateCustomerCartAssociationData = {\n body?: CartsRelationshipsCustomersData\n headers?: {\n /**\n * A customer token to access a specific customer's carts.\n */\n \"x-moltin-customer-token\"?: string\n }\n path: {\n /**\n * The ID for the cart created by the customer. Ensure that you follow the guidelines for [Safe Characters](/guides/Getting-Started/safe-characters).\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/relationships/customers\"\n}\n\nexport type CreateCustomerCartAssociationErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Forbidden\n */\n 403: ResponseErrorResponse\n /**\n * Unauthorized\n */\n 422: ResponseErrorResponse\n}\n\nexport type CreateCustomerCartAssociationError =\n CreateCustomerCartAssociationErrors[keyof CreateCustomerCartAssociationErrors]\n\nexport type CreateCustomerCartAssociationResponses = {\n /**\n * OK\n */\n 200: CartsRelationshipsCustomersData\n /**\n * No Content\n */\n 204: void\n}\n\nexport type CreateCustomerCartAssociationResponse =\n CreateCustomerCartAssociationResponses[keyof CreateCustomerCartAssociationResponses]\n\nexport type DeleteAPromotionViaPromotionCodeData = {\n body?: never\n path: {\n /**\n * Specifies the unique identifier of a cart created by you.\n */\n cartID: string\n /**\n * Specifies the promotion code to be deleted.\n */\n promoCode: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/discounts/{promoCode}\"\n}\n\nexport type DeleteAPromotionViaPromotionCodeResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteAPromotionViaPromotionCodeResponse =\n DeleteAPromotionViaPromotionCodeResponses[keyof DeleteAPromotionViaPromotionCodeResponses]\n\nexport type AddTaxItemToCartData = {\n body?: CartItemTaxesEntityResponse\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n /**\n * The unique identifier of the cart item.\n */\n cartitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/taxes\"\n}\n\nexport type AddTaxItemToCartErrors = {\n /**\n * Unauthorized\n */\n 422: ResponseErrorResponse\n}\n\nexport type AddTaxItemToCartError =\n AddTaxItemToCartErrors[keyof AddTaxItemToCartErrors]\n\nexport type AddTaxItemToCartResponses = {\n 200: CartItemTaxesEntityResponse\n /**\n * Created\n */\n 201: CartItemTaxesEntityResponse\n}\n\nexport type AddTaxItemToCartResponse =\n AddTaxItemToCartResponses[keyof AddTaxItemToCartResponses]\n\nexport type BulkDeleteTaxItemsFromCartData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/taxes\"\n}\n\nexport type BulkDeleteTaxItemsFromCartResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type BulkDeleteTaxItemsFromCartResponse =\n BulkDeleteTaxItemsFromCartResponses[keyof BulkDeleteTaxItemsFromCartResponses]\n\nexport type BulkAddTaxItemsToCartData = {\n body?: CartsBulkTaxes\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/taxes\"\n}\n\nexport type BulkAddTaxItemsToCartErrors = {\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type BulkAddTaxItemsToCartError =\n BulkAddTaxItemsToCartErrors[keyof BulkAddTaxItemsToCartErrors]\n\nexport type BulkAddTaxItemsToCartResponses = {\n 200: CartsBulkTaxes\n /**\n * Created\n */\n 201: CartsBulkTaxes\n}\n\nexport type BulkAddTaxItemsToCartResponse =\n BulkAddTaxItemsToCartResponses[keyof BulkAddTaxItemsToCartResponses]\n\nexport type DeleteATaxItemData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n /**\n * The unique identifier of the cart item.\n */\n cartitemID: string\n /**\n * The unique identifier of the tax item.\n */\n taxitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/taxes/{taxitemID}\"\n}\n\nexport type DeleteATaxItemResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteATaxItemResponse =\n DeleteATaxItemResponses[keyof DeleteATaxItemResponses]\n\nexport type UpdateATaxItemData = {\n body?: CartItemTaxesEntityResponse\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n /**\n * The unique identifier of the cart item.\n */\n cartitemID: string\n /**\n * The unique identifier of the tax item.\n */\n taxitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/taxes/{taxitemID}\"\n}\n\nexport type UpdateATaxItemResponses = {\n 200: CartItemTaxesEntityResponse\n}\n\nexport type UpdateATaxItemResponse =\n UpdateATaxItemResponses[keyof UpdateATaxItemResponses]\n\nexport type BulkDeleteCustomDiscountsFromCartData = {\n body?: never\n path: {\n /**\n * Specifies the unique ID for the cart.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/custom-discounts\"\n}\n\nexport type BulkDeleteCustomDiscountsFromCartResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type BulkDeleteCustomDiscountsFromCartResponse =\n BulkDeleteCustomDiscountsFromCartResponses[keyof BulkDeleteCustomDiscountsFromCartResponses]\n\nexport type BulkAddCustomDiscountsToCartData = {\n body?: CartsBulkCustomDiscounts\n path: {\n /**\n * Specifies the system generated ID for the cart that the shopper created.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/custom-discounts\"\n}\n\nexport type BulkAddCustomDiscountsToCartErrors = {\n /**\n * Could not apply custom discount\n */\n 400: ResponseErrorResponse\n /**\n * Could not apply custom discount\n */\n 422: ResponseErrorResponse\n}\n\nexport type BulkAddCustomDiscountsToCartError =\n BulkAddCustomDiscountsToCartErrors[keyof BulkAddCustomDiscountsToCartErrors]\n\nexport type BulkAddCustomDiscountsToCartResponses = {\n 201:\n | CartsBulkCustomDiscountsResponse\n | CartsBulkCustomDiscountsCollectionResponse\n}\n\nexport type BulkAddCustomDiscountsToCartResponse =\n BulkAddCustomDiscountsToCartResponses[keyof BulkAddCustomDiscountsToCartResponses]\n\nexport type DeleteCustomDiscountFromCartData = {\n body?: never\n path: {\n /**\n * Specifies the unique ID for the cart.\n */\n cartID: string\n /**\n * Specifies the ID for the custom discount to be deleted.\n */\n customdiscountID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/custom-discounts/{customdiscountID}\"\n}\n\nexport type DeleteCustomDiscountFromCartResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteCustomDiscountFromCartResponse =\n DeleteCustomDiscountFromCartResponses[keyof DeleteCustomDiscountFromCartResponses]\n\nexport type UpdateCustomDiscountForCartData = {\n body?: CartsCustomDiscountsEntityRequest\n path: {\n /**\n * Specifies the unique ID for the cart.\n */\n cartID: string\n /**\n * Specifies the ID for the custom discount to be updated.\n */\n customdiscountID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/custom-discounts/{customdiscountID}\"\n}\n\nexport type UpdateCustomDiscountForCartResponses = {\n 200: CartsCustomDiscountsEntityResponse\n}\n\nexport type UpdateCustomDiscountForCartResponse =\n UpdateCustomDiscountForCartResponses[keyof UpdateCustomDiscountForCartResponses]\n\nexport type AddCustomDiscountToCartItemData = {\n body?: CartsCustomDiscountsObject\n path: {\n /**\n * Specifies the ID for the cart.\n */\n cartID: string\n /**\n * Specifies the unique identifier for the cart item.\n */\n cartitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/custom-discounts\"\n}\n\nexport type AddCustomDiscountToCartItemErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Bad Request\n */\n 422: ResponseErrorResponse\n}\n\nexport type AddCustomDiscountToCartItemError =\n AddCustomDiscountToCartItemErrors[keyof AddCustomDiscountToCartItemErrors]\n\nexport type AddCustomDiscountToCartItemResponses = {\n /**\n * Successful request\n */\n 201:\n | CartsCustomDiscountsCollectionResponse\n | CartsCustomDiscountsEntityResponse\n}\n\nexport type AddCustomDiscountToCartItemResponse =\n AddCustomDiscountToCartItemResponses[keyof AddCustomDiscountToCartItemResponses]\n\nexport type DeleteCustomDiscountFromCartItemData = {\n body?: never\n path: {\n /**\n * Specifies the ID for the cart.\n */\n cartID: string\n /**\n * Specifies the ID for the cart item.\n */\n cartitemID: string\n /**\n * Specifies the ID for the custom discount to be deleted.\n */\n customdiscountID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/custom-discounts/{customdiscountID}\"\n}\n\nexport type DeleteCustomDiscountFromCartItemResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteCustomDiscountFromCartItemResponse =\n DeleteCustomDiscountFromCartItemResponses[keyof DeleteCustomDiscountFromCartItemResponses]\n\nexport type UpdateCustomDiscountForCartItemData = {\n body?: CartsCustomDiscountsEntityRequest\n path: {\n /**\n * Specifies the ID for the cart.\n */\n cartID: string\n /**\n * Specifies the ID for the cart item.\n */\n cartitemID: string\n /**\n * Specifies the ID for the custom discount to be updated.\n */\n customdiscountID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/custom-discounts/{customdiscountID}\"\n}\n\nexport type UpdateCustomDiscountForCartItemResponses = {\n 200: CartsCustomDiscountsEntityResponse\n}\n\nexport type UpdateCustomDiscountForCartItemResponse =\n UpdateCustomDiscountForCartItemResponses[keyof UpdateCustomDiscountForCartItemResponses]\n\nexport type GetShippingGroupsData = {\n body?: never\n path: {\n /**\n * The ID of the cart\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/shipping-groups\"\n}\n\nexport type GetShippingGroupsErrors = {\n /**\n * Cart not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type GetShippingGroupsError =\n GetShippingGroupsErrors[keyof GetShippingGroupsErrors]\n\nexport type GetShippingGroupsResponses = {\n /**\n * A list of shipping groups\n */\n 200: {\n data?: Array<ShippingGroupResponse>\n }\n}\n\nexport type GetShippingGroupsResponse =\n GetShippingGroupsResponses[keyof GetShippingGroupsResponses]\n\nexport type CreateShippingGroupData = {\n body: CreateShippingGroupRequest\n path: {\n /**\n * The ID of the cart\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/shipping-groups\"\n}\n\nexport type CreateShippingGroupErrors = {\n /**\n * Invalid request\n */\n 400: ResponseErrorResponse\n /**\n * Cart not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type CreateShippingGroupError =\n CreateShippingGroupErrors[keyof CreateShippingGroupErrors]\n\nexport type CreateShippingGroupResponses = {\n /**\n * Shipping group created successfully\n */\n 201: ShippingGroupResponse\n}\n\nexport type CreateShippingGroupResponse =\n CreateShippingGroupResponses[keyof CreateShippingGroupResponses]\n\nexport type DeleteCartShippingGroupData = {\n body?: never\n path: {\n /**\n * The ID of the cart\n */\n cartId: string\n /**\n * The ID of the shipping group to delete\n */\n shippingGroupId: string\n }\n query?: never\n url: \"/v2/carts/{cartId}/shipping-groups/{shippingGroupId}\"\n}\n\nexport type DeleteCartShippingGroupErrors = {\n /**\n * Cannot delete shipping group that is attached to cart items\n */\n 400: ResponseErrorResponse\n /**\n * Cart or shipping group not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type DeleteCartShippingGroupError =\n DeleteCartShippingGroupErrors[keyof DeleteCartShippingGroupErrors]\n\nexport type DeleteCartShippingGroupResponses = {\n /**\n * Successfully deleted the shipping group\n */\n 204: void\n}\n\nexport type DeleteCartShippingGroupResponse =\n DeleteCartShippingGroupResponses[keyof DeleteCartShippingGroupResponses]\n\nexport type GetShippingGroupByIdData = {\n body?: never\n path: {\n /**\n * The ID of the cart\n */\n cartId: string\n /**\n * The ID of the shipping group\n */\n shippingGroupId: string\n }\n query?: never\n url: \"/v2/carts/{cartId}/shipping-groups/{shippingGroupId}\"\n}\n\nexport type GetShippingGroupByIdErrors = {\n /**\n * Shipping group or cart not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type GetShippingGroupByIdError =\n GetShippingGroupByIdErrors[keyof GetShippingGroupByIdErrors]\n\nexport type GetShippingGroupByIdResponses = {\n /**\n * Shipping group details\n */\n 200: {\n data?: ShippingGroupResponse\n }\n}\n\nexport type GetShippingGroupByIdResponse =\n GetShippingGroupByIdResponses[keyof GetShippingGroupByIdResponses]\n\nexport type UpdateShippingGroupData = {\n body: UpdateCartShippingGroupRequest\n path: {\n /**\n * The ID of the cart\n */\n cartId: string\n /**\n * The ID of the shipping group\n */\n shippingGroupId: string\n }\n query?: never\n url: \"/v2/carts/{cartId}/shipping-groups/{shippingGroupId}\"\n}\n\nexport type UpdateShippingGroupErrors = {\n /**\n * Invalid request\n */\n 400: ResponseErrorResponse\n /**\n * Shipping group or cart not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type UpdateShippingGroupError =\n UpdateShippingGroupErrors[keyof UpdateShippingGroupErrors]\n\nexport type UpdateShippingGroupResponses = {\n /**\n * Shipping group updated successfully\n */\n 200: ShippingGroupResponse\n}\n\nexport type UpdateShippingGroupResponse =\n UpdateShippingGroupResponses[keyof UpdateShippingGroupResponses]\n\nexport type CreateCartPaymentIntentData = {\n body?: ElasticPathPaymentsPoweredByStripePayment\n path: {\n /**\n * The universally unique identifier of the cart for which you want to create a payment intent.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/payments\"\n}\n\nexport type CreateCartPaymentIntentResponses = {\n /**\n * Payment Intent created successfully.\n */\n 201: CartResponse\n}\n\nexport type CreateCartPaymentIntentResponse =\n CreateCartPaymentIntentResponses[keyof CreateCartPaymentIntentResponses]\n\nexport type UpdateCartPaymentIntentData = {\n body: CartPaymentUpdate\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n /**\n * The unique identifier of the payment intent.\n */\n paymentIntentID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/payments/{paymentIntentID}\"\n}\n\nexport type UpdateCartPaymentIntentResponses = {\n /**\n * Payment updated successfully\n */\n 200: CartResponse\n}\n\nexport type UpdateCartPaymentIntentResponse =\n UpdateCartPaymentIntentResponses[keyof UpdateCartPaymentIntentResponses]\n\nexport type CheckoutApiData = {\n body?: CustomerCheckout | AccountCheckout\n headers?: {\n /**\n * An account management authentication token that identifies the authenticated account member.\n */\n \"EP-Account-Management-Authentication-Token\"?: string\n }\n path: {\n /**\n * The ID of the cart that you want to checkout.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/checkout\"\n}\n\nexport type CheckoutApiErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Internal Server Error\n */\n 500: ResponseErrorResponse\n}\n\nexport type CheckoutApiError = CheckoutApiErrors[keyof CheckoutApiErrors]\n\nexport type CheckoutApiResponses = {\n /**\n * OK\n */\n 201: OrderEntityResponse\n}\n\nexport type CheckoutApiResponse =\n CheckoutApiResponses[keyof CheckoutApiResponses]\n\nexport type GetCustomerOrdersData = {\n body?: never\n headers?: {\n /**\n * A customer token to access a specific customer's orders.\n */\n \"x-moltin-customer-token\"?: string\n }\n path?: never\n query?: {\n /**\n * For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint documentation to understand the attributes and operators an endpoint supports.\n *\n */\n filter?: string\n include?: Array<\"items\">\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: number\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: number\n }\n url: \"/v2/orders\"\n}\n\nexport type GetCustomerOrdersResponses = {\n 200: OrderCollectionResponse\n}\n\nexport type GetCustomerOrdersResponse =\n GetCustomerOrdersResponses[keyof GetCustomerOrdersResponses]\n\nexport type GetAnOrderData = {\n body?: never\n path: {\n /**\n * The ID of the order.\n */\n orderID: string\n }\n query?: {\n include?: Array<\"items\">\n }\n url: \"/v2/orders/{orderID}\"\n}\n\nexport type GetAnOrderErrors = {\n /**\n * Not Found\n */\n 404: ResponseErrorResponse\n}\n\nexport type GetAnOrderError = GetAnOrderErrors[keyof GetAnOrderErrors]\n\nexport type GetAnOrderResponses = {\n /**\n * OK\n */\n 200: OrderEntityResponse\n}\n\nexport type GetAnOrderResponse = GetAnOrderResponses[keyof GetAnOrderResponses]\n\nexport type UpdateAnOrderData = {\n body?: OrdersUpdateRequest\n path: {\n /**\n * The unique identifier of the order.\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}\"\n}\n\nexport type UpdateAnOrderErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type UpdateAnOrderError = UpdateAnOrderErrors[keyof UpdateAnOrderErrors]\n\nexport type UpdateAnOrderResponses = {\n /**\n * OK\n */\n 200: OrderEntityResponse\n}\n\nexport type UpdateAnOrderResponse =\n UpdateAnOrderResponses[keyof UpdateAnOrderResponses]\n\nexport type GetOrderItemsData = {\n body?: never\n path: {\n /**\n * The ID of the order.\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/items\"\n}\n\nexport type GetOrderItemsResponses = {\n 200: OrderItemCollectionResponse\n}\n\nexport type GetOrderItemsResponse =\n GetOrderItemsResponses[keyof GetOrderItemsResponses]\n\nexport type AnonymizeOrdersData = {\n body?: OrdersAnonymizeRequest & unknown\n path?: never\n query?: never\n url: \"/v2/orders/anonymize\"\n}\n\nexport type AnonymizeOrdersErrors = {\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type AnonymizeOrdersError =\n AnonymizeOrdersErrors[keyof AnonymizeOrdersErrors]\n\nexport type AnonymizeOrdersResponses = {\n /**\n * OK\n */\n 200: OrdersListResponse\n}\n\nexport type AnonymizeOrdersResponse =\n AnonymizeOrdersResponses[keyof AnonymizeOrdersResponses]\n\nexport type ConfirmOrderData = {\n body?: never\n path: {\n /**\n * The unique identifier of the order to confirm.\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/confirm\"\n}\n\nexport type ConfirmOrderErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Not Found\n */\n 404: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type ConfirmOrderError = ConfirmOrderErrors[keyof ConfirmOrderErrors]\n\nexport type ConfirmOrderResponses = {\n /**\n * Order confirmed successfully\n */\n 200: OrderResponse\n}\n\nexport type ConfirmOrderResponse =\n ConfirmOrderResponses[keyof ConfirmOrderResponses]\n\nexport type PaymentSetupData = {\n body?: PaymentsRequest\n path: {\n /**\n * The Universally Unique Identifier (UUID) of the order you want to pay for.\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/payments\"\n}\n\nexport type PaymentSetupErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Conflict\n */\n 409: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type PaymentSetupError = PaymentSetupErrors[keyof PaymentSetupErrors]\n\nexport type PaymentSetupResponses = {\n /**\n * OK\n */\n 200: TransactionEntityResponse\n}\n\nexport type PaymentSetupResponse =\n PaymentSetupResponses[keyof PaymentSetupResponses]\n\nexport type ConfirmPaymentData = {\n body?: OrdersTransactionsConfirmRequest\n path: {\n /**\n * The unique identifier of the order.\n */\n orderID: string\n /**\n * The unique identifier of the transaction.\n */\n transactionID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions/{transactionID}/confirm\"\n}\n\nexport type ConfirmPaymentErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n}\n\nexport type ConfirmPaymentError =\n ConfirmPaymentErrors[keyof ConfirmPaymentErrors]\n\nexport type ConfirmPaymentResponses = {\n 200: TransactionEntityResponse\n}\n\nexport type ConfirmPaymentResponse =\n ConfirmPaymentResponses[keyof ConfirmPaymentResponses]\n\nexport type CaptureATransactionData = {\n body?: OrdersTransactionsCaptureRequest\n path: {\n /**\n * The UUID of the order.\n */\n orderID: string\n /**\n * The UUID of the transaction to capture.\n */\n transactionID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions/{transactionID}/capture\"\n}\n\nexport type CaptureATransactionErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n}\n\nexport type CaptureATransactionError =\n CaptureATransactionErrors[keyof CaptureATransactionErrors]\n\nexport type CaptureATransactionResponses = {\n 200: TransactionEntityResponse\n}\n\nexport type CaptureATransactionResponse =\n CaptureATransactionResponses[keyof CaptureATransactionResponses]\n\nexport type RefundATransactionData = {\n body?: OrdersTransactionsRefundRequest\n path: {\n /**\n * The UUID of the order.\n */\n orderID: string\n /**\n * The UUID of the transaction you want to refund.\n */\n transactionID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions/{transactionID}/refund\"\n}\n\nexport type RefundATransactionErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type RefundATransactionError =\n RefundATransactionErrors[keyof RefundATransactionErrors]\n\nexport type RefundATransactionResponses = {\n 200: TransactionEntityResponse\n}\n\nexport type RefundATransactionResponse =\n RefundATransactionResponses[keyof RefundATransactionResponses]\n\nexport type GetOrderTransactionsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the order.\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions\"\n}\n\nexport type GetOrderTransactionsErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n}\n\nexport type GetOrderTransactionsError =\n GetOrderTransactionsErrors[keyof GetOrderTransactionsErrors]\n\nexport type GetOrderTransactionsResponses = {\n 200: TransactionListResponse\n}\n\nexport type GetOrderTransactionsResponse =\n GetOrderTransactionsResponses[keyof GetOrderTransactionsResponses]\n\nexport type GetATransactionData = {\n body?: never\n path: {\n /**\n * The unique identifier of the order that you require transactions for.\n */\n orderID: string\n /**\n * The unique identifier of the transaction.\n */\n transactionID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions/{transactionID}\"\n}\n\nexport type GetATransactionResponses = {\n 200: ResponseData & {\n data?: TransactionResponse\n }\n}\n\nexport type GetATransactionResponse =\n GetATransactionResponses[keyof GetATransactionResponses]\n\nexport type CancelATransactionData = {\n body?: OrdersTransactionsCancelRequest\n path: {\n /**\n * The unique identifier of the order.\n */\n orderID: string\n /**\n * The unique identifier of the transaction to be canceled or voided.\n */\n transactionID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions/{transactionID}/cancel\"\n}\n\nexport type CancelATransactionErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n}\n\nexport type CancelATransactionError =\n CancelATransactionErrors[keyof CancelATransactionErrors]\n\nexport type CancelATransactionResponses = {\n 200: TransactionEntityResponse\n}\n\nexport type CancelATransactionResponse =\n CancelATransactionResponses[keyof CancelATransactionResponses]\n\nexport type GetOrderShippingGroupsData = {\n body?: never\n path: {\n /**\n * The ID of the order\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/shipping-groups\"\n}\n\nexport type GetOrderShippingGroupsErrors = {\n /**\n * Order not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type GetOrderShippingGroupsError =\n GetOrderShippingGroupsErrors[keyof GetOrderShippingGroupsErrors]\n\nexport type GetOrderShippingGroupsResponses = {\n /**\n * A list of shipping groups\n */\n 200: {\n data?: Array<ShippingGroupResponse>\n }\n}\n\nexport type GetOrderShippingGroupsResponse =\n GetOrderShippingGroupsResponses[keyof GetOrderShippingGroupsResponses]\n\nexport type CreateOrderShippingGroupData = {\n /**\n * Shipping group details\n */\n body?: {\n data?: {\n type: \"shipping_group\"\n /**\n * The shipping type for this group\n */\n shipping_type?: string\n /**\n * Tracking reference for the shipment\n */\n tracking_reference?: string\n address?: {\n first_name?: string\n last_name?: string\n phone_number?: string\n company_name?: string\n line_1?: string\n line_2?: string\n city?: string\n postcode?: string\n county?: string\n country?: string\n region?: string\n instructions?: string\n }\n delivery_estimate?: {\n start?: Date\n end?: Date\n }\n }\n }\n path: {\n /**\n * The ID of the order\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/shipping-groups\"\n}\n\nexport type CreateOrderShippingGroupErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Order not found\n */\n 404: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type CreateOrderShippingGroupError =\n CreateOrderShippingGroupErrors[keyof CreateOrderShippingGroupErrors]\n\nexport type CreateOrderShippingGroupResponses = {\n /**\n * Shipping group created\n */\n 201: {\n data?: ShippingGroupResponse\n }\n}\n\nexport type CreateOrderShippingGroupResponse =\n CreateOrderShippingGroupResponses[keyof CreateOrderShippingGroupResponses]\n\nexport type GetShippingGroupsByIdData = {\n body?: never\n path: {\n /**\n * The ID of the order\n */\n orderID: string\n /**\n * The ID of the shipping group\n */\n shippingGroupID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/shipping-groups/{shippingGroupID}\"\n}\n\nexport type GetShippingGroupsByIdErrors = {\n /**\n * Shipping group or order not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type GetShippingGroupsByIdError =\n GetShippingGroupsByIdErrors[keyof GetShippingGroupsByIdErrors]\n\nexport type GetShippingGroupsByIdResponses = {\n /**\n * Shipping group details\n */\n 200: {\n data?: ShippingGroupResponse\n }\n}\n\nexport type GetShippingGroupsByIdResponse =\n GetShippingGroupsByIdResponses[keyof GetShippingGroupsByIdResponses]\n\nexport type PutShippingGroupByIdData = {\n body: UpdateOrderShippingGroupRequest\n path: {\n /**\n * The ID of the order\n */\n orderID: string\n /**\n * The ID of the shipping group\n */\n shippingGroupID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/shipping-groups/{shippingGroupID}\"\n}\n\nexport type PutShippingGroupByIdErrors = {\n /**\n * Invalid request\n */\n 400: ResponseErrorResponse\n /**\n * Shipping group or order not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type PutShippingGroupByIdError =\n PutShippingGroupByIdErrors[keyof PutShippingGroupByIdErrors]\n\nexport type PutShippingGroupByIdResponses = {\n /**\n * Shipping group updated successfully\n */\n 200: ShippingGroupResponse\n}\n\nexport type PutShippingGroupByIdResponse =\n PutShippingGroupByIdResponses[keyof PutShippingGroupByIdResponses]\n\nexport type ListOfferingsData = {\n body?: never\n path?: never\n query?: {\n /**\n * Some Subscriptions API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\n filter?: string\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\n include?: Array<\"plans\" | \"pricing_options\" | \"features\">\n }\n url: \"/v2/subscriptions/offerings\"\n}\n\nexport type ListOfferingsErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListOfferingsError = ListOfferingsErrors[keyof ListOfferingsErrors]\n\nexport type ListOfferingsResponses = {\n /**\n * Success. A list of offerings is returned.\n */\n 200: {\n data?: Array<Offering>\n included?: OfferingIncludes\n links?: Links2\n }\n}\n\nexport type ListOfferingsResponse =\n ListOfferingsResponses[keyof ListOfferingsResponses]\n\nexport type GetOfferingData = {\n body?: never\n path: {\n /**\n * The unique identifier of the offering.\n */\n offering_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\n include?: Array<\"plans\" | \"pricing_options\" | \"features\">\n }\n url: \"/v2/subscriptions/offerings/{offering_uuid}\"\n}\n\nexport type GetOfferingErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetOfferingError = GetOfferingErrors[keyof GetOfferingErrors]\n\nexport type GetOfferingResponses = {\n /**\n * Success. The details of the subscription offering are returned.\n */\n 200: {\n data?: Offering\n included?: OfferingIncludes\n }\n}\n\nexport type GetOfferingResponse =\n GetOfferingResponses[keyof GetOfferingResponses]\n\nexport type ListOfferingPricingOptionsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the offering.\n */\n offering_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/offerings/{offering_uuid}/pricing-options\"\n}\n\nexport type ListOfferingPricingOptionsErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListOfferingPricingOptionsError =\n ListOfferingPricingOptionsErrors[keyof ListOfferingPricingOptionsErrors]\n\nexport type ListOfferingPricingOptionsResponses = {\n /**\n * Success. A list of pricing options attached with the offering is returned.\n */\n 200: {\n data?: Array<OfferingPricingOption>\n links?: Links2\n }\n}\n\nexport type ListOfferingPricingOptionsResponse =\n ListOfferingPricingOptionsResponses[keyof ListOfferingPricingOptionsResponses]\n\nexport type ListOfferingFeaturesData = {\n body?: never\n path: {\n /**\n * The unique identifier of the offering.\n */\n offering_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/offerings/{offering_uuid}/features\"\n}\n\nexport type ListOfferingFeaturesErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListOfferingFeaturesError =\n ListOfferingFeaturesErrors[keyof ListOfferingFeaturesErrors]\n\nexport type ListOfferingFeaturesResponses = {\n /**\n * Success. A list of subscription features attached to the offering is returned.\n */\n 200: {\n data?: Array<OfferingFeature>\n links?: Links2\n }\n}\n\nexport type ListOfferingFeaturesResponse =\n ListOfferingFeaturesResponses[keyof ListOfferingFeaturesResponses]\n\nexport type ListOfferingPlansData = {\n body?: never\n path: {\n /**\n * The unique identifier of the offering.\n */\n offering_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/offerings/{offering_uuid}/plans\"\n}\n\nexport type ListOfferingPlansErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListOfferingPlansError =\n ListOfferingPlansErrors[keyof ListOfferingPlansErrors]\n\nexport type ListOfferingPlansResponses = {\n /**\n * Success. A list of subscription plans attached to the offering is returned.\n */\n 200: {\n data?: Array<OfferingPlan>\n links?: Links2\n }\n}\n\nexport type ListOfferingPlansResponse =\n ListOfferingPlansResponses[keyof ListOfferingPlansResponses]\n\nexport type ListOfferingPlanPricingOptionsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the offering.\n */\n offering_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the plan.\n */\n plan_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/offerings/{offering_uuid}/plans/{plan_uuid}/relationships/pricing_options\"\n}\n\nexport type ListOfferingPlanPricingOptionsErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListOfferingPlanPricingOptionsError =\n ListOfferingPlanPricingOptionsErrors[keyof ListOfferingPlanPricingOptionsErrors]\n\nexport type ListOfferingPlanPricingOptionsResponses = {\n /**\n * Success. The pricing option relationships are returned\n */\n 200: {\n data?: Array<RelationshipData>\n }\n}\n\nexport type ListOfferingPlanPricingOptionsResponse =\n ListOfferingPlanPricingOptionsResponses[keyof ListOfferingPlanPricingOptionsResponses]\n\nexport type ListSubscriptionsData = {\n body?: never\n path?: never\n query?: {\n /**\n * Some Subscriptions API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\n filter?: string\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\n include?: Array<\"plans\" | \"pricing_options\">\n }\n url: \"/v2/subscriptions/subscriptions\"\n}\n\nexport type ListSubscriptionsErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListSubscriptionsError =\n ListSubscriptionsErrors[keyof ListSubscriptionsErrors]\n\nexport type ListSubscriptionsResponses = {\n /**\n * Success. A list of subscriptions is returned.\n */\n 200: {\n data?: Array<Subscription>\n included?: SubscriptionIncludes\n links?: Links2\n }\n}\n\nexport type ListSubscriptionsResponse =\n ListSubscriptionsResponses[keyof ListSubscriptionsResponses]\n\nexport type GetSubscriptionData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\n include?: Array<\"plans\" | \"pricing_options\">\n }\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}\"\n}\n\nexport type GetSubscriptionErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetSubscriptionError =\n GetSubscriptionErrors[keyof GetSubscriptionErrors]\n\nexport type GetSubscriptionResponses = {\n /**\n * Success. The details of a subscription are returned.\n */\n 200: {\n data?: Subscription\n included?: SubscriptionIncludes\n }\n}\n\nexport type GetSubscriptionResponse =\n GetSubscriptionResponses[keyof GetSubscriptionResponses]\n\nexport type ListSubscriptionPlansData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/plans\"\n}\n\nexport type ListSubscriptionPlansErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListSubscriptionPlansError =\n ListSubscriptionPlansErrors[keyof ListSubscriptionPlansErrors]\n\nexport type ListSubscriptionPlansResponses = {\n /**\n * Success. A list of subscription plans is returned.\n */\n 200: {\n data?: Array<OfferingPlan>\n }\n}\n\nexport type ListSubscriptionPlansResponse =\n ListSubscriptionPlansResponses[keyof ListSubscriptionPlansResponses]\n\nexport type ListSubscriptionPricingOptionsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/pricing-options\"\n}\n\nexport type ListSubscriptionPricingOptionsErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListSubscriptionPricingOptionsError =\n ListSubscriptionPricingOptionsErrors[keyof ListSubscriptionPricingOptionsErrors]\n\nexport type ListSubscriptionPricingOptionsResponses = {\n /**\n * Success. A list of subscription pricing options is returned.\n */\n 200: {\n data?: Array<OfferingPricingOption>\n }\n}\n\nexport type ListSubscriptionPricingOptionsResponse =\n ListSubscriptionPricingOptionsResponses[keyof ListSubscriptionPricingOptionsResponses]\n\nexport type ListSubscriptionStatesData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/states\"\n}\n\nexport type ListSubscriptionStatesErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListSubscriptionStatesError =\n ListSubscriptionStatesErrors[keyof ListSubscriptionStatesErrors]\n\nexport type ListSubscriptionStatesResponses = {\n /**\n * Success. A list of subscription states is returned.\n */\n 200: {\n data?: Array<SubscriptionState>\n }\n}\n\nexport type ListSubscriptionStatesResponse =\n ListSubscriptionStatesResponses[keyof ListSubscriptionStatesResponses]\n\nexport type CreateSubscriptionStateData = {\n body?: {\n data: ChangeState\n }\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/states\"\n}\n\nexport type CreateSubscriptionStateErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type CreateSubscriptionStateError =\n CreateSubscriptionStateErrors[keyof CreateSubscriptionStateErrors]\n\nexport type CreateSubscriptionStateResponses = {\n /**\n * Success. The subscription's state has changed.\n */\n 204: void\n}\n\nexport type CreateSubscriptionStateResponse =\n CreateSubscriptionStateResponses[keyof CreateSubscriptionStateResponses]\n\nexport type GetSubscriptionStateData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the subscription state.\n */\n state_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/states/{state_uuid}\"\n}\n\nexport type GetSubscriptionStateErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetSubscriptionStateError =\n GetSubscriptionStateErrors[keyof GetSubscriptionStateErrors]\n\nexport type GetSubscriptionStateResponses = {\n /**\n * Success. A subscription state is returned.\n */\n 200: {\n data?: SubscriptionState\n }\n}\n\nexport type GetSubscriptionStateResponse =\n GetSubscriptionStateResponses[keyof GetSubscriptionStateResponses]\n\nexport type ListSubscriptionInvoicesData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/invoices\"\n}\n\nexport type ListSubscriptionInvoicesErrors = {\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListSubscriptionInvoicesError =\n ListSubscriptionInvoicesErrors[keyof ListSubscriptionInvoicesErrors]\n\nexport type ListSubscriptionInvoicesResponses = {\n /**\n * Success. A list of invoices is returned.\n */\n 200: {\n data?: Array<SubscriptionInvoice>\n links?: Links2\n }\n}\n\nexport type ListSubscriptionInvoicesResponse =\n ListSubscriptionInvoicesResponses[keyof ListSubscriptionInvoicesResponses]\n\nexport type ListSubscriptionInvoicePaymentsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the invoice.\n */\n invoice_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/invoices/{invoice_uuid}/payments\"\n}\n\nexport type ListSubscriptionInvoicePaymentsResponses = {\n /**\n * Success. Payments for the invoice are returned.\n */\n 200: {\n data?: Array<SubscriptionInvoicePayment>\n links?: Links2\n }\n}\n\nexport type ListSubscriptionInvoicePaymentsResponse =\n ListSubscriptionInvoicePaymentsResponses[keyof ListSubscriptionInvoicePaymentsResponses]\n\nexport type GetSubscriptionInvoicePaymentData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the invoice.\n */\n invoice_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the payment.\n */\n payment_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/invoices/{invoice_uuid}/payments/{payment_uuid}\"\n}\n\nexport type GetSubscriptionInvoicePaymentErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n}\n\nexport type GetSubscriptionInvoicePaymentError =\n GetSubscriptionInvoicePaymentErrors[keyof GetSubscriptionInvoicePaymentErrors]\n\nexport type GetSubscriptionInvoicePaymentResponses = {\n /**\n * Success. Specific payment for the invoice is returned.\n */\n 200: {\n data?: SubscriptionInvoicePayment\n }\n}\n\nexport type GetSubscriptionInvoicePaymentResponse =\n GetSubscriptionInvoicePaymentResponses[keyof GetSubscriptionInvoicePaymentResponses]\n\nexport type GetSubscriptionInvoiceData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the invoice.\n */\n invoice_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/invoices/{invoice_uuid}\"\n}\n\nexport type GetSubscriptionInvoiceErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetSubscriptionInvoiceError =\n GetSubscriptionInvoiceErrors[keyof GetSubscriptionInvoiceErrors]\n\nexport type GetSubscriptionInvoiceResponses = {\n /**\n * Success. An invoice is returned.\n */\n 200: {\n data?: SubscriptionInvoice\n }\n}\n\nexport type GetSubscriptionInvoiceResponse =\n GetSubscriptionInvoiceResponses[keyof GetSubscriptionInvoiceResponses]\n\nexport type ListInvoicesData = {\n body?: never\n path?: never\n query?: {\n /**\n * Some Subscriptions API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\n filter?: string\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/invoices\"\n}\n\nexport type ListInvoicesErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListInvoicesError = ListInvoicesErrors[keyof ListInvoicesErrors]\n\nexport type ListInvoicesResponses = {\n /**\n * Success. A list of invoices is returned.\n */\n 200: {\n data?: Array<SubscriptionInvoice>\n links?: Links2\n }\n}\n\nexport type ListInvoicesResponse =\n ListInvoicesResponses[keyof ListInvoicesResponses]\n\nexport type GetInvoiceData = {\n body?: never\n path: {\n /**\n * The unique identifier of the invoice.\n */\n invoice_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/invoices/{invoice_uuid}\"\n}\n\nexport type GetInvoiceErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetInvoiceError = GetInvoiceErrors[keyof GetInvoiceErrors]\n\nexport type GetInvoiceResponses = {\n /**\n * Success. The details of the invoice are returned.\n */\n 200: {\n data?: SubscriptionInvoice\n }\n}\n\nexport type GetInvoiceResponse = GetInvoiceResponses[keyof GetInvoiceResponses]\n\nexport type GetFeatureData = {\n body?: never\n path: {\n /**\n * The unique identifier of a feature.\n */\n feature_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/features/{feature_uuid}\"\n}\n\nexport type GetFeatureErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetFeatureError = GetFeatureErrors[keyof GetFeatureErrors]\n\nexport type GetFeatureResponses = {\n /**\n * Success. The feature details are returned.\n */\n 200: {\n data?: Feature\n }\n}\n\nexport type GetFeatureResponse = GetFeatureResponses[keyof GetFeatureResponses]\n\nexport type GetStockData = {\n body?: never\n path: {\n /**\n * The unique identifier of the product.\n */\n product_uuid: InventoriesUuid\n }\n query?: never\n url: \"/v2/inventories/{product_uuid}\"\n}\n\nexport type GetStockErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: InventoriesErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: InventoriesErrorResponse\n}\n\nexport type GetStockError = GetStockErrors[keyof GetStockErrors]\n\nexport type GetStockResponses = {\n /**\n * Success. Returns the stock for the given product UUID\n */\n 200: {\n data: StockResponse\n }\n}\n\nexport type GetStockResponse = GetStockResponses[keyof GetStockResponses]\n\nexport type ListLocationsData = {\n body?: never\n path?: never\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [**page length**](https://elasticpath.dev/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: number\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the the [**page length**](https://elasticpath.dev/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: number\n /**\n * Some Inventories API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\n filter?: string\n }\n url: \"/v2/inventories/locations\"\n}\n\nexport type ListLocationsErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: InventoriesErrorResponse\n}\n\nexport type ListLocationsError = ListLocationsErrors[keyof ListLocationsErrors]\n\nexport type ListLocationsResponses = {\n /**\n * Success. A list of locations is returned\n */\n 200: {\n data?: Array<Location>\n links?: Links2\n }\n}\n\nexport type ListLocationsResponse =\n ListLocationsResponses[keyof ListLocationsResponses]\n\nexport type CreateAnAccessTokenData = {\n body?: AccessTokenRequest\n path?: never\n query?: never\n url: \"/oauth/access_token\"\n}\n\nexport type CreateAnAccessTokenErrors = {\n /**\n * Bad Request\n */\n 400: ErrorResponse2\n /**\n * Unauthorized\n */\n 401: ErrorResponse2\n /**\n * Internal server error. There was a system failure in the platform.\n */\n default: ErrorResponse2\n}\n\nexport type CreateAnAccessTokenError =\n CreateAnAccessTokenErrors[keyof CreateAnAccessTokenErrors]\n\nexport type CreateAnAccessTokenResponses = {\n /**\n * OK\n */\n 200: AccessTokenResponse\n}\n\nexport type CreateAnAccessTokenResponse =\n CreateAnAccessTokenResponses[keyof CreateAnAccessTokenResponses]\n\nexport type GetV2AccountAddressesData = {\n body?: never\n path: {\n /**\n * The ID of the account you want to retrieve.\n */\n accountID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}/addresses\"\n}\n\nexport type GetV2AccountAddressesErrors = {\n /**\n * Not Found\n */\n 404: AccountAddressesErrorResponse\n}\n\nexport type GetV2AccountAddressesError =\n GetV2AccountAddressesErrors[keyof GetV2AccountAddressesErrors]\n\nexport type GetV2AccountAddressesResponses = {\n /**\n * OK\n */\n 200: {\n data?: Array<AccountAddressResponse>\n }\n}\n\nexport type GetV2AccountAddressesResponse =\n GetV2AccountAddressesResponses[keyof GetV2AccountAddressesResponses]\n\nexport type PostV2AccountAddressData = {\n body?: {\n data: Address\n }\n path: {\n /**\n * The ID of the account you want to create an address for.\n */\n accountID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}/addresses\"\n}\n\nexport type PostV2AccountAddressErrors = {\n /**\n * Bad Request\n */\n 400: AccountAddressesErrorResponse\n /**\n * Not Found\n */\n 404: AccountAddressesErrorResponse\n}\n\nexport type PostV2AccountAddressError =\n PostV2AccountAddressErrors[keyof PostV2AccountAddressErrors]\n\nexport type PostV2AccountAddressResponses = {\n /**\n * OK\n */\n 200: {\n data?: AccountAddressResponse\n }\n}\n\nexport type PostV2AccountAddressResponse =\n PostV2AccountAddressResponses[keyof PostV2AccountAddressResponses]\n\nexport type DeleteV2AccountAddressData = {\n body?: never\n path: {\n /**\n * The ID of the account that contains the address to delete.\n */\n accountID: string\n /**\n * The ID of the address to delete.\n */\n addressID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}/addresses/{addressID}\"\n}\n\nexport type DeleteV2AccountAddressErrors = {\n /**\n * Not Found\n */\n 404: AccountAddressesErrorResponse\n}\n\nexport type DeleteV2AccountAddressError =\n DeleteV2AccountAddressErrors[keyof DeleteV2AccountAddressErrors]\n\nexport type DeleteV2AccountAddressResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteV2AccountAddressResponse =\n DeleteV2AccountAddressResponses[keyof DeleteV2AccountAddressResponses]\n\nexport type GetV2AccountAddressData = {\n body?: never\n path: {\n /**\n * The ID of the account you want to retrieve.\n */\n accountID: string\n /**\n * The ID of the address you want to retrieve.\n */\n addressID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}/addresses/{addressID}\"\n}\n\nexport type GetV2AccountAddressErrors = {\n /**\n * Not Found\n */\n 404: AccountAddressesErrorResponse\n}\n\nexport type GetV2AccountAddressError =\n GetV2AccountAddressErrors[keyof GetV2AccountAddressErrors]\n\nexport type GetV2AccountAddressResponses = {\n /**\n * OK\n */\n 200: {\n data?: AccountAddressResponse\n }\n}\n\nexport type GetV2AccountAddressResponse =\n GetV2AccountAddressResponses[keyof GetV2AccountAddressResponses]\n\nexport type PutV2AccountAddressData = {\n body?: {\n data: Address\n }\n path: {\n /**\n * The ID of the account you want to create an address for.\n */\n accountID: string\n /**\n * The ID of the address you want to update.\n */\n addressID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}/addresses/{addressID}\"\n}\n\nexport type PutV2AccountAddressErrors = {\n /**\n * Bad Request\n */\n 400: AccountAddressesErrorResponse\n /**\n * Not Found\n */\n 404: AccountAddressesErrorResponse\n}\n\nexport type PutV2AccountAddressError =\n PutV2AccountAddressErrors[keyof PutV2AccountAddressErrors]\n\nexport type PutV2AccountAddressResponses = {\n /**\n * OK\n */\n 200: {\n data?: AccountAddressResponse\n }\n}\n\nexport type PutV2AccountAddressResponse =\n PutV2AccountAddressResponses[keyof PutV2AccountAddressResponses]\n\nexport type GetV2AccountsData = {\n body?: never\n path?: never\n query?: {\n /**\n * Specifies the filter attributes.\n */\n filter?: string\n /**\n * The number of records per page.\n */\n \"page[limit]\"?: BigInt\n /**\n * The number of records to offset the results by.\n */\n \"page[offset]\"?: BigInt\n /**\n * Supported attributes are `created_at`, `email`, `id`, `name`, or `updated_at`. When specified, the results are sorted in ascending order based on the value of the field. To sort in descending order, prefix the attribute with `-`, for example, `-updated_at`. The default sort order is `created_at` in descending order. For more information, see [Sorting](/guides/Getting-Started/sorting).\n */\n sort?: string\n }\n url: \"/v2/accounts\"\n}\n\nexport type GetV2AccountsErrors = {\n /**\n * Unauthorized\n */\n 401: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type GetV2AccountsError = GetV2AccountsErrors[keyof GetV2AccountsErrors]\n\nexport type GetV2AccountsResponses = {\n /**\n * OK\n */\n 200: {\n data?: Array<AccountResponse>\n meta?: MetaList\n links?: {\n /**\n * Always the current page.\n */\n current?: string\n /**\n * Always the first page.\n */\n first?: string\n /**\n * Always `null` if there is only one page.\n */\n last?: string\n /**\n * Always `null` if there is only one page.\n */\n next?: string\n /**\n * Always `null` if the user is on the first page.\n */\n prev?: string\n }\n }\n}\n\nexport type GetV2AccountsResponse =\n GetV2AccountsResponses[keyof GetV2AccountsResponses]\n\nexport type PostV2AccountsData = {\n body?: {\n data: Account & WritableParentId\n }\n path?: never\n query?: never\n url: \"/v2/accounts\"\n}\n\nexport type PostV2AccountsErrors = {\n /**\n * Bad Request\n */\n 400: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type PostV2AccountsError =\n PostV2AccountsErrors[keyof PostV2AccountsErrors]\n\nexport type PostV2AccountsResponses = {\n /**\n * Created\n */\n 201: {\n data?: AccountResponse\n }\n}\n\nexport type PostV2AccountsResponse =\n PostV2AccountsResponses[keyof PostV2AccountsResponses]\n\nexport type GetV2AccountsAccountIdData = {\n body?: never\n path: {\n /**\n * The ID of the account you want to retrieve.\n */\n accountID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}\"\n}\n\nexport type GetV2AccountsAccountIdErrors = {\n /**\n * Not Found\n */\n 404: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type GetV2AccountsAccountIdError =\n GetV2AccountsAccountIdErrors[keyof GetV2AccountsAccountIdErrors]\n\nexport type GetV2AccountsAccountIdResponses = {\n /**\n * OK\n */\n 200: {\n data?: AccountResponse\n }\n}\n\nexport type GetV2AccountsAccountIdResponse =\n GetV2AccountsAccountIdResponses[keyof GetV2AccountsAccountIdResponses]\n\nexport type PutV2AccountsAccountIdData = {\n body?: {\n data: Account & ReadOnlyParentId\n }\n path: {\n /**\n * The ID of the account you want to retrieve.\n */\n accountID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}\"\n}\n\nexport type PutV2AccountsAccountIdErrors = {\n /**\n * Bad Request\n */\n 400: {\n errors?: Array<{\n detail?: string\n status?: string\n title?: string\n }>\n }\n /**\n * Not Found\n */\n 404: {\n errors?: Array<{\n detail?: string\n status?: string\n title?: string\n }>\n }\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type PutV2AccountsAccountIdError =\n PutV2AccountsAccountIdErrors[keyof PutV2AccountsAccountIdErrors]\n\nexport type PutV2AccountsAccountIdResponses = {\n /**\n * OK\n */\n 200: {\n data?: {\n /**\n * The unique identifier for an Account.\n */\n id?: string\n /**\n * The type of the object returned. Always use account.\n */\n type?: string\n /**\n * The name of the account.\n */\n name?: string\n /**\n * The legal name of the account.\n */\n legal_name?: string\n /**\n * The registration ID of the account. The maximum character limit for this field is 63.\n */\n registration_id?: string\n /**\n * The optional external ID reference. For example, this could be an external reference from a separate company system. The maximum length is 2048 characters. Default is null.\n */\n external_ref?: string\n meta?: {\n timestamps?: {\n /**\n * The date the account is created.\n */\n created_at?: Date\n /**\n * The date the account is last updated.\n */\n updated_at?: Date\n }\n }\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n }\n }\n}\n\nexport type PutV2AccountsAccountIdResponse =\n PutV2AccountsAccountIdResponses[keyof PutV2AccountsAccountIdResponses]\n\nexport type GetV2AccountMembersData = {\n body?: never\n path?: never\n query?: {\n /**\n * The number of records per page.\n */\n \"page[limit]\"?: BigInt\n /**\n * The number of records to offset the results by.\n */\n \"page[offset]\"?: BigInt\n /**\n * Supported attributes are `created_at`, `email`, `id`, `name`, or `updated_at`. When specified, the results are sorted in ascending order based on the value of the field. To sort in descending order, prefix the attribute with `-`, for example, `-updated_at`. The default sort order is `created_at` in descending order. For more information, see [Sorting](/guides/Getting-Started/sorting).\n */\n sort?: string\n /**\n * Specifies the filter attributes.\n */\n filter?: string\n }\n url: \"/v2/account-members\"\n}\n\nexport type GetV2AccountMembersErrors = {\n /**\n * Unauthorized\n */\n 401: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type GetV2AccountMembersError =\n GetV2AccountMembersErrors[keyof GetV2AccountMembersErrors]\n\nexport type GetV2AccountMembersResponses = {\n /**\n * OK\n */\n 200: {\n data?: Array<AccountMemberResponse>\n meta?: MetaList\n links?: {\n /**\n * Always the current page.\n */\n current?: string\n /**\n * Always the first page.\n */\n first?: string\n /**\n * Always `null` if there is only one page.\n */\n last?: string\n /**\n * Always `null` if there is only one page.\n */\n next?: string\n /**\n * Always `null` if the user is on the first page.\n */\n prev?: string\n }\n }\n}\n\nexport type GetV2AccountMembersResponse =\n GetV2AccountMembersResponses[keyof GetV2AccountMembersResponses]\n\nexport type GetV2AccountMembersAccountMemberIdData = {\n body?: never\n path: {\n /**\n * The unique identifier of the account member that you want to retrieve.\n */\n accountMemberID: string\n }\n query?: never\n url: \"/v2/account-members/{accountMemberID}\"\n}\n\nexport type GetV2AccountMembersAccountMemberIdErrors = {\n /**\n * Not Found\n */\n 404: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type GetV2AccountMembersAccountMemberIdError =\n GetV2AccountMembersAccountMemberIdErrors[keyof GetV2AccountMembersAccountMemberIdErrors]\n\nexport type GetV2AccountMembersAccountMemberIdResponses = {\n /**\n * OK\n */\n 200: {\n data?: AccountMemberResponse\n }\n}\n\nexport type GetV2AccountMembersAccountMemberIdResponse =\n GetV2AccountMembersAccountMemberIdResponses[keyof GetV2AccountMembersAccountMemberIdResponses]\n\nexport type GetV2AccountsAccountIdAccountMembershipsData = {\n body?: never\n path: {\n /**\n * The ID of the account for which you want to get the list of unassigned account members.\n */\n accountID: string\n }\n query?: {\n /**\n * Specifies the filter attributes.\n */\n filter?: string\n /**\n * Supported attributes are `created_at`, `email`, `id`, `name`, or `updated_at`. When specified, the results are sorted in ascending order based on the value of the field. To sort in descending order, prefix the attribute with `-`, for example, `-updated_at`. The default sort order is `created_at` in descending order. For more information, see [Sorting](/guides/Getting-Started/sorting).\n */\n sort?: string\n /**\n * The number of records per page.\n */\n \"page[limit]\"?: BigInt\n /**\n * The number of records to offset the results by.\n */\n \"page[offset]\"?: BigInt\n /**\n * Parameter to retrieve more information about any related resources like account members.\n */\n include?: string\n }\n url: \"/v2/accounts/{accountID}/account-memberships\"\n}\n\nexport type GetV2AccountsAccountIdAccountMembershipsErrors = {\n /**\n * Not Found\n */\n 404: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type GetV2AccountsAccountIdAccountMembershipsError =\n GetV2AccountsAccountIdAccountMembershipsErrors[keyof GetV2AccountsAccountIdAccountMembershipsErrors]\n\nexport type GetV2AccountsAccountIdAccountMembershipsResponses = {\n /**\n * OK\n */\n 200: {\n data?: Array<AccountMembershipResponse>\n meta?: MetaList\n links?: {\n /**\n * Always the current page.\n */\n current?: string\n /**\n * Always the first page.\n */\n first?: string\n /**\n * Always `null` if there is only one page.\n */\n last?: string\n /**\n * Always `null` if there is only one page.\n */\n next?: string\n /**\n * Always `null` if the user is on the first page.\n */\n prev?: string\n }\n }\n}\n\nexport type GetV2AccountsAccountIdAccountMembershipsResponse =\n GetV2AccountsAccountIdAccountMembershipsResponses[keyof GetV2AccountsAccountIdAccountMembershipsResponses]\n\nexport type PostV2AccountMembersTokensData = {\n body?: {\n data:\n | ({\n authentication_mechanism?: \"oidc\"\n } & OpenIdConnectRequest)\n | ({\n authentication_mechanism?: \"password\"\n } & PasswordRequest)\n | ({\n authentication_mechanism?: \"passwordless\"\n } & PasswordlessRequest)\n | ({\n authentication_mechanism?: \"self_signup\"\n } & SelfSignupRequest)\n | ({\n authentication_mechanism?: \"account_management_authentication_token\"\n } & SwitchingAccountRequest)\n }\n path?: never\n query?: never\n url: \"/v2/account-members/tokens\"\n}\n\nexport type PostV2AccountMembersTokensErrors = {\n /**\n * Unauthorized\n */\n 401: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type PostV2AccountMembersTokensError =\n PostV2AccountMembersTokensErrors[keyof PostV2AccountMembersTokensErrors]\n\nexport type PostV2AccountMembersTokensResponses = {\n /**\n * Created\n */\n 201: {\n data?: Array<AccountManagementAuthenticationTokenResponse>\n meta?: MetaList & {\n account_member_id?: MetaAccountMemberId\n }\n links?: {\n /**\n * Always the current page.\n */\n current?: string\n /**\n * Always the first page.\n */\n first?: string\n /**\n * Always `null` if there is only one page.\n */\n last?: string\n /**\n * Always `null` if there is only one page.\n */\n next?: string\n /**\n * Always `null` if the user is on the first page.\n */\n prev?: string\n }\n }\n}\n\nexport type PostV2AccountMembersTokensResponse =\n PostV2AccountMembersTokensResponses[keyof PostV2AccountMembersTokensResponses]\n\nexport type CreateOneTimePasswordTokenRequestData = {\n /**\n * Request body for one-time password token.\n */\n body: OneTimePasswordTokenRequest\n path: {\n realmId: string\n passwordProfileId: string\n }\n query?: never\n url: \"/v2/authentication-realms/{realmId}/password-profiles/{passwordProfileId}/one-time-password-token-request\"\n}\n\nexport type CreateOneTimePasswordTokenRequestResponses = {\n /**\n * One-time password token response.\n */\n 202: unknown\n}\n\nexport type UpdatePasswordProfileInfoData = {\n /**\n * The updated password profile info.\n */\n body: PasswordProfileInfoUpdateRequestWrapper\n path: {\n realmId: string\n userAuthenticationInfoId: string\n userAuthenticationPasswordProfileInfoId: string\n }\n query?: never\n url: \"/v2/authentication-realms/{realmId}/user-authentication-info/{userAuthenticationInfoId}/user-authentication-password-profile-info/{userAuthenticationPasswordProfileInfoId}\"\n}\n\nexport type UpdatePasswordProfileInfoErrors = {\n /**\n * Password profile info not found.\n */\n 404: unknown\n}\n\nexport type UpdatePasswordProfileInfoResponses = {\n /**\n * Updated password profile info.\n */\n 200: PasswordProfileInfoResponse\n}\n\nexport type UpdatePasswordProfileInfoResponse =\n UpdatePasswordProfileInfoResponses[keyof UpdatePasswordProfileInfoResponses]\n\nexport type GetAllCurrenciesData = {\n body?: never\n path?: never\n query?: {\n /**\n * The number of records to offset the results by.\n */\n \"page[offset]\"?: string\n /**\n * The number of records per page.\n */\n \"page[limit]\"?: string\n }\n url: \"/v2/currencies\"\n}\n\nexport type GetAllCurrenciesErrors = {\n /**\n * Unauthorized\n */\n 401: ResponseError\n}\n\nexport type GetAllCurrenciesError =\n GetAllCurrenciesErrors[keyof GetAllCurrenciesErrors]\n\nexport type GetAllCurrenciesResponses = {\n /**\n * OK\n */\n 200: ResponseData & {\n data?: Array<ResponseCurrency>\n }\n}\n\nexport type GetAllCurrenciesResponse =\n GetAllCurrenciesResponses[keyof GetAllCurrenciesResponses]\n\nexport type GetACurrencyData = {\n body?: never\n path: {\n /**\n * The ID for the requested currency.\n */\n currencyID: string\n }\n query?: never\n url: \"/v2/currencies/{currencyID}\"\n}\n\nexport type GetACurrencyErrors = {\n /**\n * Unauthorized\n */\n 401: ResponseError\n}\n\nexport type GetACurrencyError = GetACurrencyErrors[keyof GetACurrencyErrors]\n\nexport type GetACurrencyResponses = {\n /**\n * OK\n */\n 200: ResponseData & {\n data?: Array<ResponseCurrency>\n }\n}\n\nexport type GetACurrencyResponse =\n GetACurrencyResponses[keyof GetACurrencyResponses]\n\nexport type GetAllFilesData = {\n body?: never\n path?: never\n query?: {\n /**\n *\n * Filtering is available for this endpoint. See [Filtering](/docs/api/pxm/files/get-all-files#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the the [**page length**](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: string\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [**page length**](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: string\n }\n url: \"/v2/files\"\n}\n\nexport type GetAllFilesErrors = {\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: FilesErrorResponse\n}\n\nexport type GetAllFilesError = GetAllFilesErrors[keyof GetAllFilesErrors]\n\nexport type GetAllFilesResponses = {\n /**\n * OK\n */\n 200: {\n data?: Array<File>\n meta?: ResultsMeta\n links?: ResultsLinks\n }\n}\n\nexport type GetAllFilesResponse =\n GetAllFilesResponses[keyof GetAllFilesResponses]\n\nexport type GetAFileData = {\n body?: never\n path: {\n /**\n * The unique identifier for a file.\n */\n fileID: string\n }\n query?: never\n url: \"/v2/files/{fileID}\"\n}\n\nexport type GetAFileErrors = {\n /**\n * Forbidden. The operation is forbidden on this entity.\n */\n 404: FilesErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: FilesErrorResponse\n}\n\nexport type GetAFileError = GetAFileErrors[keyof GetAFileErrors]\n\nexport type GetAFileResponses = {\n 200: {\n data?: File\n }\n}\n\nexport type GetAFileResponse = GetAFileResponses[keyof GetAFileResponses]\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../src/client/types.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\n/**\n * The three-letter ISO code for the currency associated with this price.\n */\nexport type Amount = {\n /**\n * The price in the lowest denomination for the specified currency. This is a product's list price.\n */\n amount?: BigInt\n /**\n * Whether this price includes tax.\n */\n includes_tax?: boolean\n}\n\n/**\n * If you want multiple price books for different scenarios, such as seasonal sales, business versus retail pricing, and reward programs, when creating a catalog, you can specify up to five price books. You must configure a priority for your price books. Product prices are displayed in the catalog according to the priority of the price books.\n */\nexport type PrioritizedPricebooks = Array<{\n /**\n * A unique identifier of a price book.\n */\n id: string\n /**\n * Priority is a number and the price book with the highest number has the highest priority.\n */\n priority: number\n}>\n\n/**\n * The owner of this resource, can be either `organization` or `store`.\n */\nexport type Owner = \"store\" | \"organization\"\n\n/**\n * Creates a catalog with the following attributes.\n */\nexport type Catalog = {\n /**\n * A unique identifier of a catalog.\n */\n id: string\n attributes: {\n /**\n * The name of a catalog.\n */\n name: string\n /**\n * A brief description of the catalog, such as the purpose of the catalog.\n */\n description?: string\n /**\n * The unique identifiers of the hierarchies associated with a catalog.\n */\n hierarchy_ids: Array<string>\n /**\n * The unique identifier of a price book associated with a catalog. If no price book is selected, the catalog is displayed without prices.\n */\n pricebook_id?: string\n pricebook_ids?: PrioritizedPricebooks\n /**\n * Product Experience Manager supports localization of products and hierarchies. If you store supports multiple languages, you can localize product names and descriptions.\n */\n locales?: {\n [key: string]: {\n [key: string]: string\n }\n }\n /**\n * The date and time a catalog is created.\n */\n created_at: Date\n /**\n * The date and time a catalog was updated.\n */\n updated_at: Date\n /**\n * The owner of this resource, can be either `organization` or `store`.\n */\n owner?: \"store\" | \"organization\"\n /**\n * This indicates whether the catalog will support price segmentation using catalog rules to define which pricebook(s) to use for pricing\n */\n enable_price_segmentation?: boolean\n }\n /**\n * Relationships are established between different catalog entities. For example, a catalog rule and a price book are related to a catalog, as both are associated with it.\n */\n relationships?: {\n /**\n * The catalog rules related to a catalog.\n */\n rules?: {\n links?: RelatedLink\n }\n /**\n * When a catalog is published, a catalog release is created. This is a URL to all catalog published releases available for this catalog.\n */\n releases?: {\n links?: RelatedLink\n meta?: {\n /**\n * The number releases available for a catalog.\n */\n count?: number\n }\n }\n }\n type: \"catalog\"\n}\n\n/**\n * Creates a catalog with the following attributes.\n */\nexport type CatalogCreateData = {\n data: {\n attributes: {\n /**\n * The name of the catalog.\n */\n name: string\n /**\n * A brief description of the catalog.\n */\n description?: string | null\n /**\n * The unique identifiers of the hierarchies to associate with a catalog.\n */\n hierarchy_ids: Array<string>\n /**\n * The unique identifier of the price book to associate with this catalog. You can specify either a `pricebook_id` or `pricebook_ids` but not both. If you specify both a `pricebook_id` and `pricebook_ids`, a `422 Unprocessable Entity` error is displayed.\n *\n */\n pricebook_id?: string\n pricebook_ids?: PrioritizedPricebooks\n /**\n * Product Experience Manager supports localization of products and hierarchies. If you store supports multiple languages, you can localize product names and descriptions.\n */\n locales?: {\n [key: string]: {\n [key: string]: string\n }\n }\n /**\n * This indicates whether the catalog will support price segmentation using catalog rules to define which pricebook(s) to use for pricing\n */\n enable_price_segmentation?: boolean\n }\n /**\n * Represents the type of object being returned. Always `Catalog`.\n */\n type: \"catalog\"\n }\n}\n\n/**\n * Container for a single catalog.\n */\nexport type CatalogData = {\n data: Catalog\n links?: Links\n}\n\n/**\n * Container for a list of catalogs.\n */\nexport type CatalogListData = {\n data: Array<Catalog>\n meta?: PageMeta\n links?: Links\n}\n\n/**\n * A catalog combines price books, product lists, and hierarchies.\n */\nexport type CatalogUpdateData = {\n data: {\n attributes: {\n /**\n * The name of the catalog.\n */\n name?: string | null\n /**\n * A brief description of the catalog.\n */\n description?: string | null\n /**\n * The unique identifiers of the hierarchies to associate with a catalog.\n */\n hierarchy_ids?: Array<string> | null\n /**\n * The unique identifier of a price book to associate with a catalog. You can specify a `pricebook_id` or a `pricebook_ids` but not both. If you specify both, a `422 unprocessable entity` error is displayed.\n */\n pricebook_id?: string | null\n pricebook_ids?: PrioritizedPricebooks\n /**\n * Product Experience Manager supports localization of products and hierarchies. If you store supports multiple languages, you can localize product names and descriptions.\n */\n locales?: {\n [key: string]: {\n [key: string]: string\n }\n }\n /**\n * This indicates whether the catalog will support price segmentation using catalog rules to define which pricebook(s) to use for pricing\n */\n enable_price_segmentation?: boolean\n }\n /**\n * The unique identifier of the catalog to be updated.\n */\n id: string\n /**\n * This represents the type of object being returned. Always `catalog`.\n */\n type: \"catalog\"\n }\n}\n\n/**\n * The unique identifier of the component, for example, `games`.\n */\nexport type ComponentProduct = {\n /**\n * The component name is the name that is displayed in your storefront.\n */\n name?: string\n /**\n * The minimum number of product options a shopper can select from this component.\n */\n min?: number | null\n /**\n * The maximum number of product options a shopper can select from this component.\n */\n max?: number | null\n /**\n * The sort order of the components. The `create a bundle` and `update a bundle` endpoints do not sort the components. You can use the `sort_order` attribute when programming your storefront to display the components in the order that you want.\n */\n sort_order?: number | null\n /**\n * The product options included in a component. This can be the ID of another bundle.\n */\n options?: Array<ComponentProductOption>\n}\n\n/**\n * The product options included in a component. This can be the ID of another bundle.\n */\nexport type ComponentProductOption = {\n /**\n * A unique identifier of the product you want to add to a component.\n */\n id?: string\n /**\n * This represents the type of object being returned. Always `product`.\n */\n type?: \"product\"\n /**\n * The number of this product option that a shopper must purchase.\n */\n quantity?: number\n /**\n * The minimum quantity of this product option that a shopper can select.\n */\n min?: number | null\n /**\n * The maximum quantity of this product option that a shopper can select.\n */\n max?: number | null\n /**\n * The sort order of the options. The `create a bundle` and `update a bundle` endpoints do not sort the options. You can use the `sort_order` attribute when programming your storefront to display the options in the order that you want.\n */\n sort_order?: number | null\n /**\n * The boolean indicates whether the current option is a default option for the component.\n */\n default?: boolean | null\n /**\n * Indicates that the parent product added to a bundle is not directly purchasable. When set to true, the child products of the parent product should be displayed as options for selection in the bundle.\n */\n product_should_be_substituted_with_child?: boolean | null\n /**\n * Merchants can exclude specific child products from a parent product when configuring a bundle.\n */\n excluded_children?: Array<string>\n}\n\n/**\n * A bundle is a purchasable product, comprising of one or more products that you want to sell together. You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity.\n */\nexport type Components = {\n [key: string]: ComponentProduct\n}\n\n/**\n * The length of the custom input text field.\n */\nexport type CustomInputValidationRuleOptions = {\n /**\n * The number of characters the custom text field can be. You can specify a maximum length up to 255 characters, as the limit is 255 characters.\n */\n max_length?: number\n}\n\n/**\n * The validation rules for the custom text.\n */\nexport type CustomInputValidationRule = {\n /**\n * This represents the type of object being returned. Must be `string`.\n */\n type?: \"string\"\n options?: CustomInputValidationRuleOptions\n}\n\n/**\n * The name of the custom input. You can rename the input to something more representative of the input that shoppers are adding, for example, `message` or `front`.\n */\nexport type CustomInput = {\n /**\n * The name for the custom text field that is displayed in your storefront.\n */\n name?: string\n /**\n * The validation rules for the custom text.\n */\n validation_rules?: Array<CustomInputValidationRule>\n /**\n * This is `true` or `false` depending on whether the custom text is required.\n */\n required?: boolean | null\n}\n\n/**\n * You can allow your shoppers to add custom text to a product when adding product items to their carts. This is useful, for example, if you have a product like a T-shirt that can be personalized or you sell greetings cards that can be printed with your shoppers personalized messages. You can do this using the `custom_inputs` attribute.\n *\n * - You can rename input to something more representative of the input that shoppers are adding, for example, `message` or `front`.\n * - `name` is the name that is displayed in your storefront.\n * - You can add validation rules. For example, the input field must be a string and/or up to 255 characters in length. The limit is 255 characters.\n *\n */\nexport type CustomInputs = {\n [key: string]: CustomInput\n}\n\n/**\n * A collection of one or more currencies objects that consists of the [**three-letter ISO code**](https://www.iso.org/iso-3166-country-codes.html) of the currencies associated with this price and the amount. This is the product's price.\n */\nexport type Currencies = {\n [key: string]: Amount\n}\n\n/**\n * A collection of key-value string pairs, viewable by shoppers.\n */\nexport type ShopperAttributes = {\n [key: string]: string\n}\n\n/**\n * A list of differences between two releases.\n */\nexport type DiffListData = {\n data?: Array<ProductDiff>\n links?: Links\n}\n\n/**\n * A price formatted for display.\n */\nexport type DisplayPrice = {\n with_tax?: FormattedPrice\n without_tax?: FormattedPrice\n}\n\n/**\n * APIError is a json-api style part of an error response.\n */\nexport type _Error = {\n detail?: string\n status?: string\n title?: string\n}\n\n/**\n * ErrorResponse is a json-api style Error response.\n */\nexport type ErrorResponse = {\n errors?: Array<_Error>\n}\n\n/**\n * The name of the product template.\n */\nexport type Extension = {\n [key: string]: {\n [key: string]: unknown\n }\n}\n\n/**\n * With extension templates, you can attach a specific set of custom fields to your products in Product Experience Manager. For example, a **Book** template might contain the attributes, such as **ISBN**, **Author**, **Number of pages**, **Year Published**, or **Condition (New/Used)**.\n */\nexport type Extensions = {\n [key: string]: Extension\n}\n\n/**\n * In Product Experience Manager, products can have associated rich media assets, such as product images or a file containing additional product details.\n */\nexport type FileReference = {\n /**\n * This represents the type of object being returned. Always `file`.\n */\n type?: \"file\"\n /**\n * A unique identifier for a file.\n */\n id?: string\n /**\n * The date and time a file is created.\n */\n created_at?: Date\n}\n\n/**\n * In Product Experience Manager, products can have associated rich media assets, such as product images or a file containing additional product details.\n */\nexport type FilesRelationship = {\n data?: Array<FileReference>\n}\n\n/**\n * A bundle is a purchasable product, comprising of one or more products that you want to sell together. You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity. You can link to the products that make up your bundle components.\n */\nexport type ComponentProductsRelationship = {\n data?: ProductReferences\n links?: SelfLink\n}\n\n/**\n * A product can have custom relationships added that link to other products. These can be used for Parent/Child relationships as well as products that you want to Cross Sell/Promote.\n */\nexport type CustomRelationship = {\n data?: ProductReferences\n links?: CustomRelationshipLinks\n}\n\n/**\n * A price formatted for display.\n */\nexport type FormattedPrice = {\n /**\n * The price in the lowest denomination for the specified currency. This is a product's list price.\n */\n amount?: number\n /**\n * The three-letter ISO code of the currencies associated with this price and the amount.\n */\n currency?: string\n /**\n * The format of the price for display.\n */\n formatted?: string\n}\n\n/**\n * A category hierarchy in a catalog. Hierarchies can have parent nodes and child nodes, as well as a list of attached products.\n */\nexport type Hierarchy = {\n attributes?: HierarchyAttributes\n /**\n * A unique identifier of a hierarchy.\n */\n id?: string\n relationships?: HierarchyRelationships\n /**\n * This represents the type of object being returned. Always `hierarchy`.\n */\n type?: string\n meta?: HierarchyMeta\n}\n\n/**\n * A hierarchy's metadata.\n */\nexport type HierarchyMeta = {\n /**\n * Product Experience Manager supports localization of hierarchies. If your store supports multiple languages, you can localize hierarchy names and descriptions. This is [**three-letter language code**](https://www.iso.org/iso-639-language-code) that represents the name of the language you have used.\n */\n language?: string\n /**\n * Hierarchy Breadcrumbs\n */\n breadcrumbs?: Array<{\n /**\n * The unique identifier of a hierarchy.\n */\n id?: string\n /**\n * The name of the hierarchy.\n */\n name?: string\n /**\n * A slug for the hierarchy.\n */\n slug?: string\n }>\n /**\n * Indicates whether a node has child nodes. `true` if the node has at least one child, `false` if it has none.\n */\n has_children?: boolean | null\n}\n\n/**\n * Resource attributes of a catalog hierarchy.\n */\nexport type HierarchyAttributes = {\n /**\n * The date and time a hierarchy is created.\n */\n created_at?: Date\n /**\n * The date and time a hierarchy is published in a catalog.\n */\n published_at?: Date | null\n /**\n * A description of a hierarchy.\n */\n description?: string\n /**\n * The name of a hierarchy.\n */\n name?: string\n /**\n * A unique slug for a hierarchy.\n */\n slug?: string\n shopper_attributes?: ShopperAttributes\n /**\n * The date and time a hierarchy was updated.\n */\n updated_at?: Date\n}\n\n/**\n * Container for hierarchies.\n */\nexport type HierarchyData = {\n data?: Hierarchy\n links?: Links\n}\n\n/**\n * Container for a list of hierarchies.\n */\nexport type HierarchyListData = {\n meta?: PageMeta\n data?: Array<Hierarchy>\n links?: Links\n}\n\n/**\n * Relationships to child nodes, and products.\n */\nexport type HierarchyRelationships = {\n /**\n * A URL to all the products associated with a hierarchy.\n */\n products?: {\n links?: RelatedLink\n }\n /**\n * A URL to all the child products associated with a hierarchy.\n */\n children?: {\n links: RelatedLink\n }\n /**\n * A URL to all the nodes associated with a hierarchy.\n */\n nodes?: {\n links: RelatedLink\n }\n}\n\n/**\n * Links allow you to move between requests.\n */\nexport type Links = {\n /**\n * Single entities use a `self` parameter with a link the specific resource.\n */\n self?: string | null\n /**\n * Always the first page.\n */\n first?: string | null\n /**\n * This is `null` if there is only one page.\n */\n last?: string | null\n /**\n * This is `null` if there is only one page.\n */\n prev?: string | null\n /**\n * This is `null` if there is only one page.\n */\n next?: string | null\n}\n\n/**\n * Included is an array of resources that are included in the response.\n */\nexport type IncludedResponse = {\n /**\n * The main images associated with a product.\n */\n main_images?: Array<ElasticPathFile>\n /**\n * Returns a list of component products in a product bundle. If a bundle has no component products (in other words, is not a product bundle), an empty array is returned.\n */\n component_products?: Array<Product>\n /**\n * The files associated with a product.\n */\n files?: Array<ElasticPathFile>\n}\n\nexport type ElasticPathFile = {\n /**\n * The unique identifier for this file.\n */\n id?: string\n /**\n * The type represents the object being returned.\n */\n type?: string\n /**\n * The name of the file.\n */\n file_name?: string\n /**\n * The mime type of the file.\n */\n mime_type?: string\n /**\n * The size of the file. Required when uploading files.\n */\n file_size?: number\n /**\n * DEPRECATED Whether the file public or not. Required when uploading files.\n */\n public?: boolean\n meta?: {\n /**\n * The date and time the file was created.\n */\n timestamps?: {\n /**\n * The date and time the file was created.\n */\n created_at?: string\n }\n /**\n * The file dimensions.\n */\n dimensions?: {\n /**\n * The width of the file.\n */\n width?: number\n /**\n * The height of the file.\n */\n height?: number\n }\n }\n /**\n * Links are used to allow you to move between requests.\n */\n links?: {\n /**\n * Single entities use a self parameter with a link to that specific resource.\n */\n self?: string\n }\n /**\n * The publicly available URL for this file.\n */\n link?: {\n /**\n * The publicly available URL for this file.\n */\n href?: string\n meta?: {\n /**\n * Contains the results for the entire collection.\n */\n results?: {\n /**\n * Total number of results for the entire collection.\n */\n total?: number\n }\n }\n }\n}\n\n/**\n * In Product Experience Manager, products can also have associated product images.\n */\nexport type MainImageRelationship = {\n /**\n * The images associated with a product.\n */\n data?: {\n /**\n * This represents the type of object being returned. Always `main_image`.\n */\n type?: \"main_image\"\n /**\n * A unique identifier for an image.\n */\n id?: string\n }\n}\n\n/**\n * A category node in a catalog. Nodes can have child nodes, as well as a list of attached products.\n */\nexport type Node = {\n attributes?: NodeAttributes\n /**\n * The unique identifier of a node.\n */\n id?: string\n relationships?: NodeRelationships\n /**\n * This represents the type of object being returned. Always `node`.\n */\n type?: string\n meta?: NodeMeta\n}\n\n/**\n * Resource attributes of a catalog node.\n */\nexport type NodeAttributes = {\n /**\n * The date and time a node was created.\n */\n created_at?: Date\n /**\n * The date and time a node was published in a catalog.\n */\n published_at?: Date | null\n /**\n * A description of a node.\n */\n description?: string\n label?: string\n /**\n * The name of a node. Names must be unique among sibling nodes in a hierarchy. Otherwise, a name can be non-unique within the hierarchy and across multiple hierarchies.\n */\n name?: string\n /**\n * A slug for the node. Slugs must be unique among sibling nodes in the hierarchy. Otherwise, a slug can be non-unique within the hierarchy and across multiple hierarchies.\n */\n slug?: string\n /**\n * A list of curated products for a node. You can curate your products in your nodes product lists. Product curation allows you to promote specific products within each node in a hierarchy, enabling you to create unique product collections in your storefront.\n */\n curated_products?: Array<string>\n status?: string\n shopper_attributes?: ShopperAttributes\n /**\n * The date and time a node was updated.\n */\n updated_at?: Date\n}\n\n/**\n * Container for nodes.\n */\nexport type NodeCreateData = {\n /**\n * A node in a catalog (e.g. a category node). Nodes can have child nodes, as well as a list of attached products\n */\n data: {\n /**\n * Resource attributes of a catalog node.\n */\n attributes: {\n description?: string\n /**\n * hierarchy id of the node\n */\n hierarchy_id?: string\n label?: string\n name: string\n slug?: string\n status?: string\n locales?: {\n [key: string]: {\n [key: string]: string\n }\n }\n }\n relationships?: NodeRelationships\n id?: string\n type: string\n }\n links?: Links\n}\n\n/**\n * Container for nodes.\n */\nexport type NodeData = {\n data?: Node\n links?: Links\n}\n\n/**\n * Container for a list of nodes.\n */\nexport type NodeListData = {\n meta?: PageMeta\n data?: Array<Node>\n links?: Links\n}\n\n/**\n * A node's metadata.\n */\nexport type NodeMeta = {\n /**\n * The node details localized in the supported languages.\n */\n language?: string\n /**\n * Helps you understand the association of products with nodes. It explains how products are associated with parent nodes and the relationship among the array of nodes. This is useful if you want to improve how your shoppers search within you store.\n * @deprecated\n */\n bread_crumb?: Array<string>\n /**\n * Node Breadcrumbs\n */\n breadcrumbs?: Array<{\n /**\n * The unique identifier of a hierarchy/node.\n */\n id?: string\n /**\n * The name of the hierarchy/node.\n */\n name?: string\n /**\n * A slug for the hierarchy/node.\n */\n slug?: string\n }>\n /**\n * Indicates whether a node has child nodes. `true` if the node has at least one child, `false` if it has none.\n */\n has_children?: boolean | null\n}\n\n/**\n * Minimum set of information to identify a catalog node.\n */\nexport type NodeReference = {\n /**\n * The unique identifier of a hierarchy.\n */\n id?: string\n /**\n * A label for a hierarchy.\n */\n label?: string\n /**\n * The name of a hierarchy.\n */\n name?: string\n}\n\n/**\n * Relationships to parent and child nodes, and products.\n */\nexport type NodeRelationships = {\n /**\n * A URL to all products associated with a node.\n */\n products?: {\n data?: Array<ProductReference>\n links?: RelatedLink\n }\n /**\n * A URL to all child nodes associated with a node.\n */\n children?: {\n links: RelatedLink\n }\n /**\n * A URL to all parent nodes associated with a node.\n */\n parent?: {\n data: {\n type: \"node\"\n id: string\n }\n links?: RelatedLink\n }\n /**\n * A URL to the hierarchies associated with a node.\n */\n hierarchy?: {\n data: {\n type: \"hierarchy\"\n id: string\n }\n links?: RelatedLink\n }\n}\n\n/**\n * Container for node relationships.\n */\nexport type NodeRelationshipsData = {\n data?: NodeRelationships\n links?: Links\n}\n\n/**\n * Contains the results for the entire collection.\n */\nexport type PageMeta = {\n /**\n * Total number of results for the entire collection.\n */\n results?: {\n /**\n * Total number of results for the entire collection.\n */\n total?: BigInt\n }\n page?: {\n /**\n * The maximum number of records for all pages.\n */\n limit?: BigInt\n /**\n * The current offset by number of pages.\n */\n offset?: BigInt\n /**\n * The current number of pages.\n */\n current?: BigInt\n /**\n * The total number of records for the entire collection.\n */\n total?: BigInt\n }\n}\n\n/**\n * Top level entity in the pricebooks domain model. It contains a list of product prices.\n */\nexport type Pricebook = {\n /**\n * The unique identifier of a price book.\n */\n id?: string\n /**\n * This represents the type of object being returned. Always `pricebook`.\n */\n type: \"pricebook\"\n attributes: {\n created_at?: Date\n description?: string | null\n name: string | null\n updated_at?: Date\n }\n}\n\n/**\n * Container for pricebooks.\n */\nexport type PricebookCreateData = {\n /**\n * New top level pricebook.\n */\n data: {\n type: \"pricebook\"\n attributes: {\n description?: string | null\n name: string | null\n }\n }\n links?: Links\n}\n\n/**\n * Container for pricebooks.\n */\nexport type PricebookData = {\n data: Pricebook\n links?: Links\n}\n\n/**\n * ProductPrice associates a collection of locale specific prices with a product ID.\n */\nexport type PricebookPrice = {\n type: \"product-price\"\n attributes: {\n currencies: TieredCurrencies\n sales?: Sales\n sku: string\n }\n id: string\n}\n\n/**\n * Container for pricebook prices.\n */\nexport type PricebookPriceCreateData = {\n /**\n * ProductPrice associates a collection of locale specific prices with a product ID.\n */\n data: {\n type: \"product-price\"\n attributes: {\n currencies: TieredCurrencies\n sales?: Sales\n sku: string\n }\n }\n links?: Links\n}\n\n/**\n * Container for pricebook prices.\n */\nexport type PricebookPriceData = {\n data: PricebookPrice\n links?: Links\n}\n\n/**\n * A product in a catalog with the following attributes.\n */\nexport type Product = {\n attributes?: ProductAttributes\n /**\n * A unique identifier for a product.\n */\n id?: string\n relationships?: ProductRelationships\n /**\n * This represents the type of object being returned. Always `product`.\n */\n type?: string\n meta?: ProductMeta\n}\n\n/**\n * A product's attributes.\n */\nexport type ProductAttributes = {\n /**\n * The date and time a product was published in a catalog.\n */\n published_at?: Date | null\n /**\n * If this product is a `parent` product. A `parent` product is a product that has child products that have been built using the `build child products` endpoint.\n */\n base_product?: boolean\n /**\n * The unique identifier of a `parent` product.\n */\n base_product_id?: string\n /**\n * The commodity type, either `physical` or `digital`.\n */\n commodity_type?: string\n /**\n * If a product is curated, then the `curated_product` attribute with a value of `true` is displayed. If a product is not curated, the `curated_product` attribute is not displayed.\n */\n curated_product?: boolean\n /**\n * The universal product code or european article number of the product.\n */\n upc_ean?: string\n /**\n * The manufacturer part number of the product.\n */\n manufacturer_part_num?: string\n /**\n * A list of tags associated with the product. A tag must be HTML compatible characters excluding commas and will be stored in lowercase letters.\n */\n tags?: Array<string>\n /**\n * A list of price modifier names.\n */\n price_modifiers?: Array<string>\n /**\n * The date and time a product was created.\n */\n created_at?: Date\n /**\n * A description of the product.\n */\n description?: string\n /**\n * A name of a product.\n */\n name?: string\n price?: Currencies\n shopper_attributes?: ShopperAttributes\n tiers?: Tiers\n components?: Components\n custom_inputs?: CustomInputs\n /**\n * The unique stock keeping unit of the product.\n */\n sku?: string\n /**\n * A label for the product that is used in the URL paths. A slug can contain A to Z, a to z, 0 to 9, hyphen, underscore, and period. Spaces or other special characters like ^, [], *, and $ are not allowed. By default, the product name is used as the slug.\n */\n slug?: string\n /**\n * The status of the product, either `live` or `draft`.\n */\n status?: string\n /**\n * The unique attribute associated with the product. This could be an external reference from a separate company system, for example.\n */\n external_ref?: string | null\n /**\n * The date and time a product was updated.\n */\n updated_at?: Date\n extensions?: Extensions\n}\n\n/**\n * Container for products.\n */\nexport type ProductCreateData = {\n /**\n * A new product in a catalog.\n */\n data?: {\n /**\n * A product's attributes.\n */\n attributes: {\n description?: string\n name: string\n sku?: string\n slug?: string\n status: string\n locales?: {\n [key: string]: {\n [key: string]: string\n }\n }\n }\n id?: string\n type: string\n }\n links?: Links\n}\n\n/**\n * Container for products.\n */\nexport type ProductData = {\n data?: Product\n included?: IncludedResponse\n links?: Links\n}\n\nexport type ProductDiff = {\n id?: string\n type?: string\n attributes?: {\n sku?: string\n this_release_id?: string\n other_release_id?: string\n diff_created_at?: Date\n exists?: {\n this: boolean\n other: boolean\n }\n updated_at?: {\n this?: Date | null\n other?: Date | null\n }\n }\n}\n\n/**\n * Container for a list of products.\n */\nexport type ProductListData = {\n meta?: PageMeta\n data?: Array<Product>\n included?: IncludedResponse\n links?: Links\n}\n\n/**\n * A product's metadata contains information about products, for example, the nodes a product is associated with, any child products, bundle configurations, and so on.\n */\nexport type ProductMeta = {\n /**\n * The relationship among the array of nodes a product is associated with, demonstrating the linking of the children nodes with the parent nodes. Up to 10 levels of parent nodes are displayed, depending on the number of levels of parent nodes you have.\n */\n bread_crumbs?: {\n [key: string]: Array<string>\n }\n /**\n * An array of parent node IDs that a product is associated with. Up to 10 levels of parent nodes are displayed, depending on the number of levels of parent nodes you have.\n */\n bread_crumb_nodes?: Array<string>\n /**\n * A unique identifier of the catalog a product is associated with.\n */\n catalog_id?: string\n /**\n * The unique identifier of the price book a product is associated with.\n */\n pricebook_id?: string | null\n display_price?: DisplayPrice\n /**\n * The source of a catalog. Always `pim`.\n */\n catalog_source?: \"pim\"\n /**\n * With sales pricing, a store can optionally add a sale price to a product price. For example, a store can schedule seasonal pricing on products without creating a new price book and catalog ruleset. Optionally, a store can schedule the date ranges for the sale products. This is the unique identifier of a sale.\n */\n sale_id?: string\n /**\n * The date and time a sale expires.\n */\n sale_expires?: Date | null\n original_price?: Currencies\n original_display_price?: DisplayPrice\n bundle_configuration?: BundleConfiguration\n /**\n * A bundle is a purchasable product, comprising of one or more products that you want to sell together. You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity.\n */\n component_products?: {\n [key: string]: {\n /**\n * With sales pricing, a store can optionally add a sale price to a product price. For example, a store can schedule seasonal pricing on products without creating a new price book and catalog ruleset. Optionally, a store can schedule the date ranges for the sale products. This is the unique identifier of a sale.\n */\n sale_id?: string\n /**\n * The date and time a sale expires.\n */\n sale_expires?: Date | null\n price?: Currencies\n display_price?: DisplayPrice\n original_price?: Currencies\n original_display_price?: DisplayPrice\n pricebook_id?: string | null\n }\n }\n /**\n * This will contain the component product details (with bundle specific pricing) in the configure bundle response for the selected options.\n */\n component_product_data?: {\n [key: string]: Product\n }\n /**\n * You can use price modifiers to change the price property of child products. By default, child products inherit the same price as their base products. Using price modifiers, you can enable child products to inherit a different price.\n */\n price_modifiers?: {\n [key: string]: {\n /**\n * There are three modifier types.\n *\n * - The `price_increment` type increases the prices of a product.\n * - The `price_decrement` type decreases the price of a product.\n * - The `price_equals` type sets the price of a product to an amount you specify.\n *\n */\n modifier_type?: string\n currencies?: Currencies\n }\n }\n /**\n * You can use tiers to allow your store to offer different pricing for minimum quantities of items that your shoppers purchase.\n */\n tiers?: {\n [key: string]: {\n /**\n * The unique identifier of a sale.\n */\n sale_id?: string\n /**\n * The date and time a sale expires.\n */\n sale_expires?: Date | null\n display_price?: DisplayPrice\n original_price?: Currencies\n original_display_price?: DisplayPrice\n }\n }\n /**\n * The `variation_matrix` object lists the variation IDs and variation option IDs and their corresponding product IDs that are generated when the variation and variation options are built with a product. If no variations are available, the `variation_matrix` is empty.\n */\n variation_matrix?: {\n [key: string]: unknown\n }\n /**\n * If you specified `build_rules` for a product, the `variations` object lists the variation option IDs that you specified to include when building your child products. If no `build_rules` are specified, all the variation and variation options available for a product are displayed. If a product does not have any variations, then the `variations` object is not displayed.\n */\n variations?: Array<Variation>\n /**\n * An array of variation options IDs that a child product has.\n */\n child_option_ids?: Array<string> | null\n /**\n * If this is a child product, the `child_variations` object lists the variation option IDs that define this child product.\n */\n child_variations?: Array<Variation> | null\n /**\n * Commerce automatically assigns types to the products you create. In Commerce Manager, you can see at a glance the product types in a list of a products. In addition, you can filter on product types in both the API and Commerce Manager.\n *\n * Product types can also be used in catalogs. For example, in your catalog, you can filter on parent so that only your parent products are displayed in your storefront.\n *\n * Products have one of the following types:\n *\n * - **standard** - Standard products are a standalone products.\n * - **parent** - A parent product is a product that has child products that have been built using the `Build Child Products` endpoint.\n * - **child** - When you configure product variations and variation options for parent products, the child products derived from the parent products are automatically created in Commerce.\n * - **bundle** - A bundle is a purchasable product, comprising two or more standalone products (in other words, components) to be sold together.\n *\n */\n product_types?: Array<string>\n /**\n * If you storefront supports multiple languages, your storefront's preferred language and locale.\n */\n language?: string\n /**\n * In Commerce Manager you can define Custom Relationships for Products. These allow Merchandisers to set up Cross Sell/Parent Child Relationships between products for display to shoppers.\n * This field will list the slugs(identifiers) of Custom Relationships that have been associated with this product. This will allow conditional rendering of related product sections if needed\n * and provides the slug(s) needed to list the related products for the Product\n *\n */\n custom_relationships?: Array<string>\n}\n\n/**\n * The options available for a variation.\n */\nexport type VariationOption = {\n /**\n * A unique identifier for an option.\n */\n id?: string\n /**\n * The name of the option.\n */\n name?: string\n /**\n * If you specified a `sort_order` when creating your variations and variation options, then use the `sort_order` value to program your storefront to display the variations and variation options in the order that you want.\n */\n sort_order?: number | null\n /**\n * The option description to display to customers.\n */\n description?: string\n}\n\nexport type Variation = {\n /**\n * A unique identifier of a variation.\n */\n id?: string\n /**\n * The name of a variation.\n */\n name?: string\n /**\n * If you specified a `sort_order` when creating your variations and variation options, then use the `sort_order` value to program your storefront to display the variations and variation options in the order that you want.\n */\n sort_order?: number | null\n option?: VariationOption\n /**\n * The options available for this variation.\n */\n options?: Array<VariationOption>\n}\n\n/**\n * Container for a bundle configuration.\n */\nexport type BundleConfigurationData = {\n data: BundleConfiguration\n}\n\n/**\n * A bundle is a purchasable product, comprising of one or more products that you want to sell together. You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity.\n */\nexport type BundleConfiguration = {\n /**\n * The product options included in a component. This can be the ID of another bundle.\n */\n selected_options: {\n [key: string]: {\n [key: string]: BigInt\n }\n }\n}\n\n/**\n * A product identifier.\n */\nexport type ProductReference = {\n /**\n * A unique identifier for a product.\n */\n id?: string\n /**\n * This represents the type of object being returned. Always `product`.\n */\n type?: \"product\"\n}\n\n/**\n * Container for a list of product references.\n */\nexport type ProductReferenceListData = {\n meta?: PageMeta\n data?: ProductReferences\n links?: Links\n}\n\n/**\n * A list of product identifiers.\n */\nexport type ProductReferences = Array<ProductReference>\n\n/**\n * Relationships allow you to move between requests. Includes links to the parent and child products, bundle component products, files, and main images associated with a product.\n */\nexport type ProductRelationships = {\n /**\n * The details of a `parent` product. A `parent` product is a product that has child products that have been built using the `Build Child Products` endpoint.\n */\n parent?: {\n data?: ProductReference\n }\n /**\n * The details of a `child` product. When you configure product variations and variation options for parent products, the child products derived from the parent products are automatically created in Commerce.\n */\n children?: {\n data?: ProductReferences\n links?: SelfLink\n }\n files?: FilesRelationship\n main_image?: MainImageRelationship\n component_products?: ComponentProductsRelationship\n custom_relationships?: CustomRelationship\n}\n\n/**\n * Container for product relationships.\n */\nexport type ProductRelationshipsData = {\n data?: ProductRelationships\n links?: Links\n}\n\n/**\n * A list of products to be added to cart. Can be type product-data or error-response.\n */\nexport type ProductsForCart = {\n data: Array<unknown>\n included?: {\n component_products?: Array<Product>\n } | null\n}\n\n/**\n * A list of product id or sku and bundle configuration for cart.\n */\nexport type ProductsForCartConfiguration = {\n data: Array<{\n id?: string | null\n sku?: string | null\n bundle_configuration?: BundleConfiguration\n }>\n}\n\n/**\n * A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.\n */\nexport type RelatedLink = {\n /**\n * A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.\n */\n related: string\n}\n\n/**\n * For each custom relationship in use on the product, there will be a link to follow.\n */\nexport type CustomRelationshipLinks = {\n [key: string]: unknown\n}\n\n/**\n * Links are used to allow you to move between requests.\n */\nexport type SelfLink = {\n /**\n * Single entities use a self parameter with a link to that specific resource.\n */\n self: string\n}\n\n/**\n * A catalog release represents a collection of hierarchical product data, price books and catalogs rules.\n */\nexport type Release = {\n /**\n * A unique identifier for the catalog release.\n */\n id?: string\n attributes?: {\n /**\n * The name of a release.\n */\n name?: string\n /**\n * The date and time a release was published.\n */\n published_at?: Date | null\n /**\n * A unique identifier for the catalog.\n */\n catalog_id?: string\n /**\n * A description of the catalog release.\n */\n description?: string\n /**\n * An array of hierarchy IDs associated with the release.\n */\n hierarchies?: Array<NodeReference>\n }\n relationships?: ReleaseRelationships\n /**\n * This represents the type of object being returned. Always `catalog-release`.\n */\n type?: string\n meta?: ReleaseMeta\n}\n\n/**\n * Container for a catalog release.\n */\nexport type ReleaseData = {\n data?: Release\n links?: Links\n}\n\n/**\n * Container for a list of catalog releases.\n */\nexport type ReleaseListData = {\n data?: Array<Release>\n links?: Links\n}\n\n/**\n * The status of the current release.\n */\nexport type ReleaseStatus = \"PENDING\" | \"IN_PROGRESS\" | \"FAILED\" | \"PUBLISHED\"\n\n/**\n * A release's metadata.\n */\nexport type ReleaseMeta = {\n /**\n * The date and time a release is created.\n */\n created_at?: Date\n /**\n * The date and time a release is available for use. In other words, the date and time the status of a catalog release changes to PUBLISHED, rather than IN PROGRESS.\n */\n started_at?: Date | null\n /**\n * The date and time a release is updated.\n */\n updated_at?: Date | null\n /**\n * The status of the current release.\n */\n release_status?: \"PENDING\" | \"IN_PROGRESS\" | \"FAILED\" | \"PUBLISHED\"\n /**\n * Your storefront's preferred language code and locale.\n */\n language?: string\n /**\n * Indicates that a full publish was performed (either because this is the first time a catalog has been published or because of a change that occurred, for example, adding/removing a price book or hierarchy). When determining whether delta data needs to be refreshed, ignore this attribute and always use the `is_full_delta` attribute.\n *\n */\n is_full_publish?: boolean\n /**\n * Indicates whether the release delta file contains the full content of a catalog release. Using a search service as an example, if the `is_full_delta` attribute is `true`, you should remove all data about that catalog release from the search service before injecting fresh data from the delta file. If the `is_full_delta` attribute is `false`, then data from the previous catalog release overlays the existing data in the delta file. The `is_full_delta` attribute is always `true` the first time a catalog is published.\n *\n */\n is_full_delta?: boolean\n /**\n * The total number of products displayed in a catalog release.\n */\n total_products?: BigInt | null\n /**\n * The total number of hierarchy nodes displayed in a catalog release.\n */\n total_nodes?: BigInt | null\n /**\n * An integer that represents the progress of a catalog publish. The attribute starts at `0` and reaches `100` when publishing is complete.\n */\n percent_completed?: number | null\n /**\n * The owner of the resource, can be either `organization` or `store`.\n */\n owner?: \"store\" | \"organization\"\n /**\n * This indicates whether the catalog release will support price segmentation using catalog rules to define which pricebook(s) to use for pricing\n */\n price_segmentation_enabled?: boolean\n}\n\n/**\n * Relationships are established between different catalog entities. For example, products, hierarchies, price books, and catalog rules are related to a catalog, as they are associated with it.\n */\nexport type ReleaseRelationships = {\n /**\n * A URL to a delta document that describes the changes between catalog releases.\n */\n delta?: {\n links?: RelatedLink\n }\n /**\n * A URL to all products included in a catalog release.\n */\n products?: {\n links?: RelatedLink\n }\n /**\n * A URL to all hierarchies included in a catalog release.\n */\n hierarchies?: {\n links: RelatedLink\n }\n}\n\n/**\n * A catalog rule specifies which catalog to use for a given shopper context.\n */\nexport type Rule = {\n /**\n * The catalog rule ID. Use this to get, modify, or delete the catalog rule.\n */\n id: string\n attributes: {\n /**\n * The name of a catalog rule. The name must not contain any spaces.\n */\n name: string\n /**\n * A brief description of the purpose of a catalog rule.\n */\n description?: string\n /**\n * The list of accounts who are eligible to see this catalog. If this field is empty, the rule matches all accounts.\n */\n account_ids?: Array<string>\n /**\n * The list of customers who are eligible to see this catalog. If empty, the rule matches all customers.\n */\n customer_ids?: Array<string>\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n channels?: Array<string>\n /**\n * A list of user-defined tags that can be used to further restrict the eligibility criteria for this rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n tags?: Array<string>\n /**\n * Specifies a time period when a catalog is displayed, such as on a specific date or during summer. Requests populate the rule tag using the `EP-Context-Tag` header.\n *\n * The schedules attribute must include the following.\n *\n * - `valid_from` matches the date and time that the catalog is displayed from.\n * - `valid_to` matches the date and time the catalog is displayed to.\n *\n * Commerce runs on UTC time.\n *\n * You can offset the timezone by adding the offset to the end of the date and time. For example, a catalog which contains a sale hierarchy that should appear for a set timeframe may be scheduled to publish on a given date and time within a given timezone. For instance, a sale that should begin on 1st of June 2022 05:00 ET and end on the 15th of June 2022 at 23:50 PT would have a valid schedule of `\"valid_from\": \"2022-06-01T05:00:00.000-05:00\"`, `\"valid_to\": \"2022-06-15T11:59:99.000-08:00\"`.\n *\n */\n schedules?: Array<RuleSchedule>\n /**\n * The unique identifier of a catalog.\n */\n catalog_id: string\n /**\n * The date and time a catalog rule was created.\n */\n created_at: Date\n /**\n * The date and time a catalog release is updated.\n */\n updated_at: Date\n /**\n * The unique identifier of a price book to associate with a rule. You can specify a `pricebook_id` or a `pricebook_ids` but not both. If you specify both, a `422 unprocessable entity` error is displayed.\n */\n pricebook_id?: string | null\n pricebook_ids?: PrioritizedPricebooks\n }\n /**\n * This represents the type of object being returned. Always `catalog_rule`.\n */\n type: \"catalog_rule\"\n}\n\n/**\n * A catalog rule specifies which catalog to use for a given shopper context.\n */\nexport type RuleCreateData = {\n data: {\n attributes: {\n /**\n * The name of a catalog rule. The name must not contain spaces.\n */\n name: string\n /**\n * A brief description of the purpose of a catalog rule.\n */\n description?: string | null\n /**\n * The list of accounts who are eligible to see this catalog. If this field is empty, the rule matches all accounts.\n */\n account_ids?: Array<string> | null\n /**\n * The list of customers who are eligible to see this catalog. If empty, the rule matches all customers.\n */\n customer_ids?: Array<string> | null\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n channels?: Array<string> | null\n /**\n * A list of user-defined tags that can be used to further restrict the eligibility criteria for this rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n tags?: Array<string> | null\n /**\n * Specifies a time period when a catalog is displayed, such as on a specific date or during summer. Requests populate the rule tag using the `EP-Context-Tag` header.\n *\n * The schedules attribute must include the following.\n *\n * - `valid_from` matches the date and time that the catalog is displayed from.\n * - `valid_to` matches the date and time the catalog is displayed to.\n *\n * Commerce runs on UTC time.\n *\n * You can offset the timezone by adding the offset to the end of the date and time. For example, a catalog which contains a sale hierarchy that should appear for a set timeframe may be scheduled to publish on a given date and time within a given timezone. For instance, a sale that should begin on 1st of June 2022 05:00 ET and end on the 15th of June 2022 at 23:50 PT would have a valid schedule of `\"valid_from\": \"2022-06-01T05:00:00.000-05:00\"`, `\"valid_to\": \"2022-06-15T11:59:99.000-08:00\"`.\n *\n */\n schedules?: Array<RuleSchedule> | null\n /**\n * The unique identifier of a catalog.\n */\n catalog_id: string\n /**\n * The unique identifier of a price book to associate with a rule. You can specify a `pricebook_id` or a `pricebook_ids` but not both. If you specify both, a `422 unprocessable entity` error is displayed.\n */\n pricebook_id?: string | null\n pricebook_ids?: PrioritizedPricebooks\n }\n /**\n * This represents the type of object being returned. Always `catalog_rule`.\n */\n type: \"catalog_rule\"\n }\n}\n\n/**\n * Container for a single catalog rule.\n */\nexport type RuleData = {\n data: Rule\n links?: Links\n}\n\n/**\n * Container for a list of catalog rules.\n */\nexport type RuleListData = {\n meta?: PageMeta\n data: Array<Rule>\n links?: Links\n}\n\n/**\n * A period of time during which a catalog is valid\n */\nexport type RuleSchedule = {\n /**\n * Matches the date and time that the catalog is displayed from.\n */\n valid_from?: Date | null\n /**\n * Matches the date and time the catalog is displayed to.\n */\n valid_to?: Date | null\n}\n\n/**\n * A catalog rule specifies which catalog to use for a given shopper context.\n */\nexport type RuleUpdateData = {\n data: {\n /**\n * The catalog rule ID. Use this to get, modify, or delete the catalog rule.\n */\n id: string\n attributes?: {\n /**\n * The name of a catalog rule. The name must not contain spaces.\n */\n name?: string | null\n /**\n * A description of the purpose of a catalog rule.\n */\n description?: string | null\n /**\n * Specifies the list of accounts who are eligible to see this catalog. If this field is empty, the rule matches all accounts.\n */\n account_ids?: Array<string> | null\n /**\n * The list of customers who are eligible to see this catalog. If empty, the rule matches all customers.\n */\n customer_ids?: Array<string> | null\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n channels?: Array<string> | null\n /**\n * Specifies a time period when a catalog is displayed, such as on a specific date or during summer. Requests populate the rule tag using the `EP-Context-Tag` header.\n *\n * The schedules attribute must include the following.\n *\n * - `valid_from` matches the date and time that the catalog is displayed from.\n * - `valid_to` matches the date and time the catalog is displayed to.\n *\n * Commerce runs on UTC time.\n *\n * You can offset the timezone by adding the offset to the end of the date and time. For example, a catalog which contains a sale hierarchy that should appear for a set timeframe may be scheduled to publish on a given date and time within a given timezone. For instance, a sale that should begin on 1st of June 2022 05:00 ET and end on the 15th of June 2022 at 23:50 PT would have a valid schedule of `\"valid_from\": \"2022-06-01T05:00:00.000-05:00\"`, `\"valid_to\": \"2022-06-15T11:59:99.000-08:00\"`.\n *\n */\n schedules?: Array<RuleSchedule> | null\n /**\n * A list of user-defined tags that can be used to further restrict the eligibility criteria for this rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n tags?: Array<string> | null\n /**\n * The unique identifier of a catalog rule.\n */\n catalog_id?: string | null\n /**\n * The unique identifier of a price book to associate with a rule. You can specify a `pricebook_id` or a `pricebook_ids` but not both. If you specify both, a `422 unprocessable entity` error is displayed.\n */\n pricebook_id?: string | null\n pricebook_ids?: PrioritizedPricebooks\n }\n /**\n * This represents the type of object being returned. Always `catalog_rule`.\n */\n type: \"catalog_rule\"\n }\n}\n\n/**\n * A set of sale prices and a validity period.\n */\nexport type Sale = {\n schedule?: Schedule\n currencies?: TieredCurrencies\n}\n\n/**\n * A set of sale specifications\n */\nexport type Sales = {\n [key: string]: Sale\n}\n\n/**\n * A definition of the times at which a sale is valid\n */\nexport type Schedule = {\n valid_from?: Date | null\n valid_to?: Date | null\n}\n\n/**\n * The name of the tier, for example, `Pencils`.\n */\nexport type Tier = {\n /**\n * The minimum quantity of 1 or more defined for the specified price. If a minimum quantity is not specified, an error is returned.\n */\n minimum_quantity?: number\n price?: Currencies\n}\n\n/**\n * The three-letter ISO code for the currency associated with this price.\n */\nexport type TieredAmount = {\n /**\n * The price in the lowest denomination for the specified currency. This is a product's list price.\n */\n amount?: BigInt\n /**\n * Whether this price includes tax.\n */\n includes_tax?: boolean\n /**\n * The price tier that an item is eligible for based on the quantity purchased. You cannot have conflicting tiers within the same currencies block.\n */\n tiers?: {\n [key: string]: {\n /**\n * The minimum quantity of 1 or more defined for the specified price. If a minimum quantity is not specified, an error is returned.\n */\n minimum_quantity?: number\n /**\n * The price for each quantity.\n */\n amount?: BigInt\n }\n }\n}\n\n/**\n * Collection of currency specific prices for a product.\n */\nexport type TieredCurrencies = {\n [key: string]: TieredAmount\n}\n\n/**\n * The price tier that an item is eligible for based on the quantity purchased. You cannot have conflicting tiers within the same currencies block.\n */\nexport type Tiers = {\n [key: string]: Tier\n}\n\n/**\n * Creates a catalog release with the following attributes.\n */\nexport type CatalogReleaseCreateData = {\n data?: {\n /**\n * Set to `true` if you want to export all the data from a catalog release in a delta link. The `is_full_delta` attribute is returned from the `get a release of a catalog` endpoint. The `is_full_delta` attribute tells you if the delta file contains the full content of a catalog release. You can use the `is_full_delta` to determine if you need to refresh the data in your company system before publishing a catalog release with fresh data in a delta link. Using a search service as an example, if the `is_full_delta` attribute is true, you should remove all data about that catalog from the search service before publishing a catalog release and injecting fresh data from the delta file. If the `is_full_delta` attribute is false, then data from the previous catalog overlays the existing data in the delta file. The `is_full_delta` attribute is always `true` the first time a catalog is published.\n *\n */\n export_full_delta?: boolean\n /**\n * If you are publishing a catalog in a store that contains resources from an organization, you must set this to true and you must enable the **Include Organization Resources in Catalog Publishes** checkbox in Commerce Manager. See [**Multi-Store Management Solutions**](/docs/api/pxm/catalog/publish-release).\n */\n include_organization_resources?: boolean | null\n }\n}\n\nexport type CartContact = {\n /**\n * The email address attached to a cart.\n */\n email?: string\n}\n\nexport type DiscountSettings = {\n /**\n * This parameter enables custom discounts for a cart. When set to true, Elastic Path promotions will not be applied to the new carts. Default is set from cart discount settings for the store. See [Cart Settings](/docs/api/settings/put-v-2-settings-cart).\n */\n custom_discounts_enabled?: boolean\n /**\n * When set to true, this parameter allows the cart to use rule promotions.\n */\n use_rule_promotions?: boolean\n}\n\nexport type InventorySettings = {\n /**\n * This parameter enables deferring inventory checks on the cart. This allows items to be added to or updating in the cart without checking stock levels. Inventory checks are still performed as normal on checkout\n */\n defer_inventory_check?: boolean\n}\n\n/**\n * Specifies custom attributes for cart or order objects. Each attribute includes a top-level key, as well as corresponding type and value entries. Attribute values must correspond to the assigned types.\n *\n * Example:\n * ```\n * \"custom_attributes\": {\n * \"is_member\": {\n * \"type\": \"boolean\",\n * \"value\": true\n * },\n * \"membership_level\": {\n * \"type\": \"string\",\n * \"value\": \"premium\"\n * }\n * }\n * ```\n *\n */\nexport type CustomAttributes = {\n [key: string]: unknown\n}\n\nexport type FormattedPriceData = {\n /**\n * The raw total.\n */\n amount?: number\n /**\n * The currency set for this amount.\n */\n currency?: string\n /**\n * The formatted total based on the amount and currency.\n */\n formatted?: string\n}\n\n/**\n * Relationship data entry\n */\nexport type RelationshipItem = {\n /**\n * The type of related resource.\n */\n type?: string\n /**\n * The ID of the related resource.\n */\n id?: string\n}\n\n/**\n * Array of relationships\n */\nexport type RelationshipArray = {\n /**\n * Individual relationships\n */\n data?: Array<RelationshipItem>\n}\n\nexport type CartResponse = {\n /**\n * The unique identifier for the cart. Use SDK or create it yourself.\n */\n id?: string\n /**\n * The type of object being returned.\n */\n type?: string\n /**\n * The name of this cart.\n */\n name?: string\n /**\n * A description of the cart.\n */\n description?: string\n contact?: CartContact\n discount_settings?: DiscountSettings\n inventory_settings?: InventorySettings\n /**\n * Stripe-assigned unique identifier for the linked Payment Intent\n */\n payment_intent_id?: string\n custom_attributes?: CustomAttributes\n links?: {\n /**\n * A link to that specific resource.\n */\n self?: string\n }\n meta?: {\n display_price?: {\n with_tax?: FormattedPriceData\n without_tax?: FormattedPriceData\n tax?: FormattedPriceData\n discount?: FormattedPriceData\n without_discount?: FormattedPriceData\n shipping?: FormattedPriceData\n }\n timestamps?: CartCheckoutTimestamps\n }\n relationships?: {\n customers?: RelationshipArray\n items?:\n | RelationshipArray\n | {\n data?: null\n }\n accounts?: RelationshipArray\n custom_discounts?: RelationshipArray\n promotions?: RelationshipArray\n }\n}\n\nexport type ResponsePageLinks = {\n /**\n * Always the current page.\n */\n current?: string\n /**\n * Always the first page.\n */\n first?: string\n /**\n * If there is only one page, it is `null`.\n */\n last?: string\n /**\n * If there is only one page, it is `null`.\n */\n next?: string\n /**\n * if the user is on the first page, it is `null`.\n */\n prev?: string\n}\n\nexport type ResponsePaginationPage = {\n /**\n * The current page.\n */\n current?: number\n /**\n * The maximum number of records per page for this response. You can set this value up to 100.\n */\n limit?: number\n /**\n * The current offset by number of records, not pages. Offset is zero-based.\n */\n offset?: number\n /**\n * The total page count.\n */\n total?: number\n}\n\nexport type ResponsePaginationResults = {\n /**\n * The total page count.\n */\n total?: number\n}\n\nexport type ResponseMetaCarts = {\n page?: ResponsePaginationPage\n results?: ResponsePaginationResults\n}\n\nexport type CartCollectionResponse = {\n data: Array<CartResponse>\n links?: ResponsePageLinks\n meta?: ResponseMetaCarts\n}\n\nexport type ResponseErrorItem = {\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * The HTTP response code of the error.\n */\n status: number\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n meta?: {\n /**\n * The resource id associated with the error\n */\n id?: string\n ids?: Array<string>\n item_ids?: Array<string>\n /**\n * The shipping group id associated with the error\n */\n shipping_group_id?: string\n shipping_group_ids?: Array<string>\n /**\n * The cart id associated with the error\n */\n cart_id?: string\n /**\n * The code associated with the error.\n */\n code?: string\n /**\n * The order id associated with the error.\n */\n order_id?: string\n /**\n * The value associated with the error.\n */\n value?:\n | Array<unknown>\n | Array<unknown>\n | Array<unknown>\n | Array<unknown>\n | Array<unknown>\n }\n}\n\nexport type ResponseErrorResponse = {\n errors: Array<ResponseErrorItem>\n}\n\nexport type CartsRequest = {\n data?: {\n /**\n * The cart description.\n */\n description?: string\n discount_settings?: DiscountSettings\n inventory_settings?: InventorySettings\n /**\n * The cart name provided by the shopper. A cart name must contain 1 to 255 characters. You cannot use whitespace characters, but special characters are permitted. For more information, see the [Safe Characters](/guides/Getting-Started/safe-characters) section.\n */\n name?: string\n contact?: CartContact\n /**\n * This optional parameter sets a reference date for the cart. If this parameter is set, it allows the cart to act as one that might occur on that specified date. For example, such future carts might acquire future-enabled discounts, allowing users to test and validate future interactions with carts. The snapshot_date must be in the format 2026-02-21T15:07:25Z. By default, this parameter is left empty.\n */\n snapshot_date?: string\n /**\n * Specifies custom attributes for cart objects. Each attribute includes a top-level key, as well as corresponding type and value entries. Attribute values must correspond to the assigned types.\n *\n * Attribute types include:\n * - string\n * - boolean\n * - integer\n * - float\n *\n * Multiple custom attributes may be submitted together. A cart can have a maximum of 20 custom attributes.\n *\n * Example:\n * ```\n * \"custom_attributes\": {\n * \"is_member\": {\n * \"type\": \"boolean\",\n * \"value\": true\n * },\n * \"membership_level\": {\n * \"type\": \"string\",\n * \"value\": \"premium\"\n * }\n * }\n * ```\n *\n * Updating an existing cart with new custom attributes clears previously-saved attributes. In order to maintain existing custom attributes on a cart, please include them in the update request along with any new attributes.\n *\n */\n custom_attributes?: CustomAttributes\n /**\n * To remove the Stripe payment intent from a cart, pass the empty value in the `payment_intent_id` field. You must use an empty value for this field. You cannot use this endpoint to directly update the cart to use an existing Payment Intent.\n */\n payment_intent_id?: string\n }\n}\n\nexport type CartEntityResponse = {\n data: CartResponse\n included?: CartIncluded\n}\n\n/**\n * The type of object being returned.\n */\nexport type Type = \"cart_item\"\n\nexport type CartItemObjectData = {\n /**\n * The type of object being returned.\n */\n type: \"cart_item\"\n /**\n * The number of items added to the cart.\n */\n quantity: number\n /**\n * Specifies the ID of the product you want to add to cart. (use this OR sku)\n */\n id?: string\n /**\n * Specifies the item SKU that you want to add to cart. (use this OR id)\n */\n sku?: string\n /**\n * The custom text to be added to a product.\n */\n custom_inputs?: {\n [key: string]: unknown\n }\n /**\n * Object used to describe the bundle options selected.\n */\n bundle_configuration?: {\n /**\n * Specifies selected options.\n */\n selected_options?: {\n [key: string]: unknown\n }\n /**\n * Array of component products for the selected options.\n */\n component_products?: Array<unknown>\n }\n /**\n * Identifier for a created Cart Shipping Group\n */\n shipping_group_id?: string\n /**\n * The slug of a stock location.\n */\n location?: string\n}\n\nexport type ItemPriceData = {\n /**\n * The amount for this item as an integer.\n */\n readonly amount?: number\n /**\n * The currency this item was added to the cart as.\n */\n readonly currency?: string\n /**\n * Whether or not this price is tax inclusive.\n */\n readonly includes_tax?: boolean\n}\n\nexport type CartItemFormattedPriceData = {\n /**\n * The amount per each single unit.\n */\n unit?: FormattedPriceData\n /**\n * The total amount of the item (i.e., unit * quantity).\n */\n value?: FormattedPriceData\n}\n\nexport type CartItemResponse = {\n /**\n * The unique ID of the product.\n */\n readonly product_id?: string\n /**\n * The unique ID of the subscription offering for subscription items.\n */\n readonly subscription_offering_id?: string\n /**\n * The name of this item\n */\n readonly name?: string\n /**\n * A description of the cart item.\n */\n readonly description?: string\n /**\n * The unique identifier of the catalog associated with the product is shown if catalog_source=pim is set.\n */\n readonly catalog_id?: string\n /**\n * The catalog source. Always `pim` or `legacy`.\n */\n readonly catalog_source?: string\n readonly image?: {\n /**\n * The MIME type for the uploaded file.\n */\n readonly mime_type?: string\n /**\n * The name of the image file that was uploaded.\n */\n readonly file_name?: string\n /**\n * The link to the image.\n */\n readonly href?: string\n }\n /**\n * Whether or not the quantity of the item will be checked against inventory.\n */\n readonly manage_stock?: boolean\n /**\n * The unit price of the item.\n */\n unit_price?: ItemPriceData\n /**\n * The total price of the item (i.e., unit * quantity).\n */\n value?: ItemPriceData\n readonly links?: {\n /**\n * A URL related to the resource.\n */\n product?: string\n }\n readonly meta?: {\n display_price?: {\n /**\n * The amount of this item after discounts and taxes are applied.\n */\n with_tax?: CartItemFormattedPriceData\n /**\n * The amount of this item after discounts are applied and before taxes.\n */\n without_tax?: CartItemFormattedPriceData\n /**\n * The amount of taxes applied to this item.\n */\n tax?: CartItemFormattedPriceData\n /**\n * The amount of the discount applied to this item.\n */\n discount?: CartItemFormattedPriceData\n without_discount?: CartItemFormattedPriceData\n }\n timestamps?: CartCheckoutTimestamps\n }\n}\n\nexport type CartItemObject = CartItemObjectData & CartItemResponse\n\nexport type CustomItemObjectData = {\n /**\n * The type of object being returned. Must be `custom_item`.\n */\n type: \"custom_item\"\n /**\n * The number of custom items to add to cart.\n */\n quantity: number\n price: {\n /**\n * The unit price of the custom item.\n */\n amount: number\n /**\n * Set to`true` if relevant taxes have been included in the price, `false` if not. Defaults to `true`.\n */\n includes_tax?: boolean\n }\n /**\n * A description of the custom item.\n */\n description?: string\n /**\n * The `SKU` code to use for the custom item. See [best practices](https://elasticpath.dev/docs/commerce-cloud/carts/cart-items/add-custom-item-to-cart#best-practices) to use the `SKU` code.\n */\n sku?: string\n /**\n * The name of the custom item.\n */\n name: string\n /**\n * The custom text to be added to a product.\n */\n custom_inputs?: {\n [key: string]: unknown\n }\n /**\n * Identifier for a created Cart Shipping Group\n */\n shipping_group_id?: string\n}\n\nexport type CustomItemObject = {\n data?: CustomItemObjectData\n}\n\nexport type SubscriptionItemObjectData = {\n /**\n * The type of object being returned.\n */\n type: \"subscription_item\"\n /**\n * The number of items added to the cart.\n */\n quantity: number\n /**\n * Specifies the ID of the subscription offering you want to add to cart.\n */\n id: string\n /**\n * Specifies how the subscription offering should be configured.\n */\n subscription_configuration: {\n /**\n * The ID of the pricing option within the offering to use for the subscription.\n */\n pricing_option: string\n /**\n * The ID of the plan within the offering to use for the subscription.\n */\n plan: string\n }\n}\n\nexport type SubscriptionItemObject = {\n data?: SubscriptionItemObjectData & CartItemResponse\n}\n\nexport type PromotionItemObjectData = {\n /**\n * Specifies the type of resource, which is `promotion_item`.\n */\n type: \"promotion_item\"\n /**\n * Specifies the promotion code. For more information about codes[].user[], see the [Create Promotion codes](/docs/api/promotions/create-promotion-codes) section.\n */\n code: string\n}\n\nexport type PromotionItemObject = {\n data?: PromotionItemObjectData\n}\n\nexport type CartItemsResponse = {\n data?: Array<\n | CartItemObject\n | CustomItemObject\n | SubscriptionItemObject\n | PromotionItemObject\n >\n}\n\nexport type UpdateAllOrNothingOptionsObject = {\n /**\n * When set to`true`, if an error occurs for any item, no items are updated in the cart. When set to `false`, valid items are updated in the cart and the items with errors are reported in the response. Default is `true`.\n */\n update_all_or_nothing?: boolean\n}\n\nexport type BulkUpdateCartsItems = {\n data?: Array<{\n /**\n * Specifies the ID of the cart item that you want to update in cart.\n */\n id?: string\n /**\n * Specifies the amount of items to update in the cart.\n */\n quantity?: number\n /**\n * Specifies the custom text to be added to a product. See [custom inputs](https://elasticpath.dev/docs/pxm/products/ep-pxm-products-api/update-a-product#using-custom-inputs-attribute).\n */\n custom_inputs?: {\n [key: string]: unknown\n }\n }>\n options?: UpdateAllOrNothingOptionsObject\n}\n\nexport type CartItemObjectRequest = {\n data?: CartItemObject\n}\n\nexport type CartMergeObject = {\n /**\n * The type of object being returned. Must be `cart_items`.\n */\n type: \"cart_items\"\n /**\n * The original cart to be merged from.\n */\n cart_id: string\n}\n\nexport type AddAllOrNothingOptionsObject = {\n /**\n * When `true`, if an error occurs for any item, no items are added to the cart. When `false`, valid items are added to the cart and the items with errors are reported in the response. Default is `false`.\n */\n add_all_or_nothing?: boolean\n}\n\nexport type CartMergeObjectRequest = {\n data?: CartMergeObject\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type ReOrderObject = {\n /**\n * The type of resource being returned. Use `order_items`.\n */\n type: \"order_items\"\n /**\n * The unique identifier of the order.\n */\n order_id: string\n}\n\nexport type ReOrderObjectRequest = {\n data?: ReOrderObject\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type BulkAddItemsRequest = {\n data?: Array<\n | CartItemObjectData\n | CartMergeObject\n | CustomItemObjectData\n | ReOrderObject\n | PromotionItemObjectData\n >\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type CartTimestamps = {\n created_at?: string\n updated_at?: unknown\n expires_at?: unknown\n}\n\nexport type CartsResponse = {\n data?: Array<\n | CartItemObject\n | CustomItemCartObject\n | SubscriptionItemCartObject\n | PromotionItemCartObject\n >\n meta?: {\n display_price?: {\n with_tax?: FormattedPriceData\n without_tax?: FormattedPriceData\n tax?: FormattedPriceData\n discount?: FormattedPriceData\n without_discount?: FormattedPriceData\n discounts?: {\n [key: string]: {\n amount?: number\n currency?: string\n formatted?: string\n }\n }\n }\n timestamps?: CartTimestamps\n }\n}\n\nexport type UpdateCartsItems = {\n data?: {\n /**\n * The type of the cart item.\n */\n type?: \"cart_item\"\n /**\n * The unique identifier of the cart item.\n */\n id?: string\n /**\n * The amount of products to add to cart.\n */\n quantity?: number\n /**\n * The custom text to be added to a product.\n */\n custom_inputs?: {\n [key: string]: unknown\n }\n /**\n * The unique identifier of the shipping group to be added to the cart.\n */\n shipping_group_id?: string\n }\n}\n\nexport type CartsRelationshipsAccountsData = {\n data?: Array<{\n /**\n * The ID of the account.\n */\n id?: string\n /**\n * The type of related object. Ensure that it is account.\n */\n type?: string\n }>\n}\n\nexport type CartsRelationshipsCustomersData = {\n data?: Array<{\n /**\n * The ID of the customer.\n */\n id?: string\n /**\n * The type of related object. Ensure that it is customer.\n */\n type?: string\n }>\n}\n\nexport type CartsItemsTaxesObject = {\n /**\n * A unique tax code in this jurisdiction.\n */\n code?: string\n /**\n * The relevant tax jurisdiction.\n */\n jurisdiction?: string\n /**\n * The name of the tax item.\n */\n name?: string\n /**\n * The tax rate represented as a decimal (12.5% -> 0.125). You can specify either `rate` or `amount`, but not both. Supplying both fields will result in an error.\n */\n rate?: number\n /**\n * The tax rate represented as a number ($10 -> 1000). You can specify either `rate` or `amount`, but not both. Supplying both fields will result in an error.\n */\n amount?: number\n /**\n * The type of object being returned. Use `tax_item`.\n */\n type: string\n /**\n * The unique identifier for this tax item.\n */\n readonly id?: string\n}\n\nexport type CartItemTaxesEntityResponse = {\n data: CartsItemsTaxesObject\n}\n\nexport type CartItemRelationship = {\n relationships?: {\n order?: {\n data?: {\n /**\n * This specifies the type of item.\n */\n type?: string\n /**\n * This specifies the ID of the cart_item or custom_item in the cart.\n */\n id?: string\n }\n }\n }\n}\n\nexport type CartsBulkTaxes = {\n data?: Array<CartsItemsTaxesObject & CartItemRelationship>\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type CartsCustomDiscountsObject = {\n amount:\n | number\n | {\n amount?: number\n currency?: string\n formatted?: string\n }\n /**\n * Specifies a description for the custom discount.\n */\n description: string\n /**\n * Specifies the discount code used for the custom discount.\n */\n discount_code: string\n /**\n * Specifies from where the custom discount is applied. For example, Talon.one.\n */\n discount_engine: string\n /**\n * Specifies an external id for the custom discount.\n */\n external_id: string\n /**\n * Specifies the type of the resource. Always `custom_discount`.\n */\n type: string\n}\n\nexport type CustomDiscountRelationshipsCartItemRequest = {\n relationships?: {\n item?: {\n data?: {\n /**\n * Specifies the type of item. For example, `custom_item` or `cart_item`.\n */\n type?: string\n /**\n * Specifies the unique identifier of the `cart_item` or `custom_item` in the cart.\n */\n id?: string\n }\n }\n }\n}\n\nexport type CartItemBulkCustomDiscountObject = CartsCustomDiscountsObject &\n CustomDiscountRelationshipsCartItemRequest\n\nexport type CartsBulkCustomDiscounts = {\n data?: Array<CartsCustomDiscountsObject & CartItemBulkCustomDiscountObject>\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type CartsBulkCustomDiscountsResponse = {\n data?: CartsCustomDiscountsObject\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type CartsBulkCustomDiscountsCollectionResponse = {\n data?: Array<CartsCustomDiscountsObject>\n options?: AddAllOrNothingOptionsObject\n}\n\nexport type CartsCustomDiscountsResponseObject = {\n amount?: {\n /**\n * Specifies an amount to be applied for the custom discount. It must be less than zero.\n */\n amount?: number\n /**\n * The currency set for the custom discount.\n */\n currency?: string\n /**\n * The formatted value for the custom discount.\n */\n formatted?: string\n }\n /**\n * Specifies a description for the custom discount.\n */\n description?: string\n /**\n * Specifies the discount code used for the custom discount.\n */\n discount_code?: string\n /**\n * Specifies from where the custom discount is applied. For example, Talon.one.\n */\n discount_engine?: string\n /**\n * Specifies an external id for the custom discount.\n */\n external_id?: string\n /**\n * Specifies the type of the resource. Always `custom_discount`.\n */\n type?: string\n /**\n * Specifies the UUID of the custom discount.\n */\n readonly id?: string\n}\n\nexport type CartsCustomDiscountsEntityRequest = {\n data?: CartsCustomDiscountsResponseObject\n}\n\nexport type CartsCustomDiscountsEntityResponse = {\n data?: CartsCustomDiscountsObject\n}\n\nexport type CartsCustomDiscountsCollectionResponse = {\n data?: Array<CartsCustomDiscountsObject>\n}\n\nexport type ShippingAddress = {\n /**\n * First name of the shipping recipient.\n */\n first_name: string\n /**\n * Last name of the shipping recipient.\n */\n last_name: string\n /**\n * Phone number of the shipping recipient.\n */\n phone_number: string\n /**\n * Company of the shipping recipient.\n */\n company_name: string\n /**\n * First line of the shipping address.\n */\n line_1: string\n /**\n * Second line of the shipping address.\n */\n line_2: string\n /**\n * City of the shipping address.\n */\n city: string\n /**\n * Post code of the shipping address.\n */\n postcode: string\n /**\n * County of the shipping address.\n */\n county: string\n /**\n * Country of the shipping address.\n */\n country: string\n /**\n * State, province, or region of the shipping address.\n */\n region?: string\n /**\n * Delivery instructions.\n */\n instructions: string\n}\n\nexport type DeliveryEstimate = {\n start?: Date\n end?: Date\n}\n\nexport type Money = {\n /**\n * Amount in minor currency units (e.g., cents).\n */\n amount: number\n /**\n * ISO 4217 currency code (e.g., \"USD\").\n */\n currency: string\n /**\n * Whether the amount includes tax.\n */\n includes_tax: boolean\n}\n\nexport type Discount = {\n amount: Money\n /**\n * The discount code used, if applicable.\n */\n code?: string\n /**\n * Unique identifier for the discount.\n */\n id: string\n /**\n * The source or origin of the promotion, if applicable.\n */\n promotion_source?: string\n /**\n * Indicates whether the discount applies to the entire cart.\n */\n is_cart_discount?: boolean\n /**\n * Order in which the discount was applied.\n */\n ordinal?: number\n}\n\nexport type Discounts = Array<Discount>\n\nexport type ShippingPriceResponse = {\n total: FormattedPriceData\n base: FormattedPriceData\n tax?: FormattedPriceData\n fees?: FormattedPriceData\n discount?: FormattedPriceData\n}\n\nexport type OrderPriceWrapperMeta = {\n with_tax: FormattedPriceData\n without_tax: FormattedPriceData\n tax: FormattedPriceData\n discount: FormattedPriceData\n balance_owing: FormattedPriceData\n paid: FormattedPriceData\n authorized: FormattedPriceData\n without_discount: FormattedPriceData\n shipping: FormattedPriceData\n shipping_discount: FormattedPriceData\n}\n\nexport type ShippingGroupMeta = {\n shipping_display_price?: ShippingPriceResponse\n total_display_price?: OrderPriceWrapperMeta\n}\n\nexport type ShippingGroupResponse = {\n type?: \"shipping_group\"\n id?: string\n relation?: string\n cart_id?: string\n order_id?: string\n shipping_type?: string\n tracking_reference?: string\n address?: ShippingAddress\n delivery_estimate?: DeliveryEstimate\n createdAt?: Date\n updatedAt?: Date\n relationships?: {\n cart?: RelationshipItem\n order?: RelationshipItem\n }\n discounts?: Discounts\n meta?: ShippingGroupMeta\n}\n\nexport type ShippingPriceRequest = {\n total?: number\n base?: number\n tax?: number\n fees?: number\n discount?: number\n}\n\nexport type CreateShippingGroupRequest = {\n data?: {\n type?: \"shipping_group\"\n shipping_type?: string\n tracking_reference?: string\n shipping_price?: ShippingPriceRequest\n address?: ShippingAddress\n includes_tax?: boolean\n delivery_estimate?: DeliveryEstimate\n }\n}\n\nexport type UpdateCartShippingGroupRequest = {\n data?: {\n type?: \"shipping_group\"\n shipping_type?: string\n tracking_reference?: string\n shipping_price?: ShippingPriceRequest\n address?: ShippingAddress\n includes_tax?: boolean\n delivery_estimate?: DeliveryEstimate\n }\n}\n\nexport type Gateway =\n | \"adyen\"\n | \"authorize_net\"\n | \"braintree\"\n | \"card_connect\"\n | \"cyber_source\"\n | \"elastic_path_payments_stripe\"\n | \"manual\"\n | \"paypal_express_checkout\"\n | \"stripe\"\n | \"stripe_connect\"\n | \"stripe_payment_intents\"\n\n/**\n * Specifies the transaction method, such as `purchase` or `authorize`.\n */\nexport type Method =\n | \"authorize\"\n | \"purchase\"\n | \"purchase_setup\"\n | \"authorize_setup\"\n\nexport type DataBasePayments = {\n gateway:\n | \"adyen\"\n | \"authorize_net\"\n | \"braintree\"\n | \"card_connect\"\n | \"cyber_source\"\n | \"elastic_path_payments_stripe\"\n | \"manual\"\n | \"paypal_express_checkout\"\n | \"stripe\"\n | \"stripe_connect\"\n | \"stripe_payment_intents\"\n /**\n * Specifies the transaction method, such as `purchase` or `authorize`.\n */\n method: \"authorize\" | \"purchase\" | \"purchase_setup\" | \"authorize_setup\"\n /**\n * The amount to be paid for the transaction.\n */\n amount?: number\n}\n\nexport type ElasticPathPaymentsPoweredByStripePayment = {\n data?: DataBasePayments & {\n /**\n * Specifies the gateway. You must use `elastic_path_payments_stripe`.\n */\n gateway?: \"elastic_path_payments_stripe\"\n options?: {\n /**\n * Provides the email address to which you want to send the Stripe receipts for the transactions within the store. This feature is available only in the live mode.\n */\n receipt_email?: string\n /**\n * Parent object determining whether to use Stripe's `automatic_payment_methods` setting.\n */\n automatic_payment_methods?: {\n /**\n * When set to true, it displays all enabled payment methods from the Stripe dashboard. When set to false, the Stripe default, which is card, is used.\n */\n enabled?: boolean\n }\n }\n /**\n * Specifies the Stripe payment method types configured for the store. See [Stripe Documentation](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-payment_method_types).\n */\n payment_method_types?: Array<string>\n /**\n * Specifies the Stripe token or source.\n */\n payment?: string\n }\n}\n\nexport type CartPaymentUpdate = {\n data: {\n gateway: string\n method: string\n payment_method_types: Array<string>\n amount: number\n options?: {\n [key: string]: unknown\n }\n }\n}\n\nexport type BillingAddress = {\n /**\n * First name of the billing recipient.\n */\n first_name: string\n /**\n * Last name of the billing recipient.\n */\n last_name: string\n /**\n * Company name of the billing recipient.\n */\n company_name: string\n /**\n * First line of the billing address.\n */\n line_1: string\n /**\n * Second line of the billing address.\n */\n line_2: string\n /**\n * City of the billing address.\n */\n city: string\n /**\n * Postcode of the billing address.\n */\n postcode: string\n /**\n * County of the billing address.\n */\n county: string\n /**\n * Country of the billing address.\n */\n country: string\n /**\n * State, province, or region of the billing address.\n */\n region?: string\n}\n\nexport type CustomerCheckout = {\n data?: {\n /**\n * A user-managed, optional field used as an alternative to the existing `order_id`. If provided, the order-number will be sent to Authorize.net instead of the `order_id`, and will appear as the invoice number in Authorize.net transactions.\n */\n order_number?: string\n /**\n * An optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n customer?: {\n /**\n * The ID of the customer.\n */\n id?: string\n /**\n * The email of the customer.\n */\n email?: string\n /**\n * The name of the customer.\n */\n name?: string\n }\n billing_address?: BillingAddress\n shipping_address?: ShippingAddress\n }\n}\n\nexport type AccountCheckout = {\n data?: {\n /**\n * A user-managed, optional field used as an alternative to the existing `order_id`. If provided, the order-number will be sent to Authorize.net instead of the `order_id`, and will appear as the invoice number in Authorize.net transactions.\n */\n order_number?: string\n /**\n * An optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n account?: {\n /**\n * The account ID.\n */\n id?: string\n /**\n * The account member ID.\n */\n member_id?: string\n }\n contact?: {\n /**\n * The name of the account member.\n */\n name?: string\n /**\n * The email address of the account member.\n */\n email?: string\n }\n billing_address?: BillingAddress\n shipping_address?: ShippingAddress\n }\n}\n\nexport type OrderMeta = {\n timestamps?: CartCheckoutTimestamps\n display_price?: {\n with_tax?: FormattedPriceData\n without_tax?: FormattedPriceData\n tax?: FormattedPriceData\n discount?: FormattedPriceData\n balance_owing?: FormattedPriceData\n paid?: FormattedPriceData\n authorized?: FormattedPriceData\n without_discount?: FormattedPriceData\n shipping?: FormattedPriceData\n shipping_discount?: FormattedPriceData\n }\n}\n\nexport type Contact = {\n /**\n * The email address of the contact.\n */\n email?: string\n /**\n * The name of the contact.\n */\n name?: string\n}\n\n/**\n * Single relationship\n */\nexport type SingleRelationship = {\n data?: RelationshipItem\n}\n\n/**\n * Specifies the status of the order, such as `incomplete`, `complete`, `processing`, or `cancelled`.\n */\nexport type Status = \"complete\" | \"incomplete\" | \"cancelled\" | \"processing\"\n\n/**\n * Specifies the status of the payment, such as `unpaid`, `authorized`, `paid`, or `refunded`.\n */\nexport type Payment =\n | \"authorized\"\n | \"paid\"\n | \"unpaid\"\n | \"refunded\"\n | \"partially_paid\"\n | \"partially_authorized\"\n\n/**\n * Specifies the status of the shipment, such as `fulfilled` or `unfulfilled`.\n */\nexport type Shipping = \"unfulfilled\" | \"fulfilled\"\n\nexport type OrderResponse = {\n /**\n * Specifies the type of object being returned. You must use `order`.\n */\n type?: \"order\"\n /**\n * Specifies a user-managed, optional field used as an alternative to the existing `order_id`. If provided, the order-number will be sent to Authorize.net instead of the `order_id`, and will appear as the invoice number in Authorize.net transactions.\n */\n order_number?: string\n /**\n * An optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n /**\n * Specifies the unique identifier of the order.\n */\n readonly id?: string\n /**\n * Specifies the status of the order, such as `incomplete`, `complete`, `processing`, or `cancelled`.\n */\n status?: \"complete\" | \"incomplete\" | \"cancelled\" | \"processing\"\n /**\n * Specifies the status of the payment, such as `unpaid`, `authorized`, `paid`, or `refunded`.\n */\n payment?:\n | \"authorized\"\n | \"paid\"\n | \"unpaid\"\n | \"refunded\"\n | \"partially_paid\"\n | \"partially_authorized\"\n /**\n * Specifies the status of the shipment, such as `fulfilled` or `unfulfilled`.\n */\n shipping?: \"unfulfilled\" | \"fulfilled\"\n /**\n * Specifies if the order is anonymized.\n */\n anonymized?: boolean\n /**\n * Stripe Payment Intent ID. Please see Stripe's Payment Intent [documentation](https://docs.stripe.com/api/payment_intents) for more information on Payment Intents.\n */\n payment_intent_id?: string\n custom_attributes?: CustomAttributes\n meta?: OrderMeta\n billing_address?: BillingAddress\n contact?: Contact\n customer?: Contact\n shipping_address?: ShippingAddress\n relationships?: {\n items?: RelationshipArray\n custom_discounts?: RelationshipArray\n promotions?: RelationshipArray\n customer?: SingleRelationship\n account?: SingleRelationship\n account_member?: SingleRelationship\n }\n}\n\nexport type OrderEntityResponse = {\n data?: OrderResponse\n included?: OrderIncluded\n}\n\nexport type ResponseMetaOrders = {\n page?: ResponsePaginationPage\n results?: ResponsePaginationResults\n}\n\nexport type OrderCollectionResponse = {\n data?: Array<OrderResponse>\n links?: ResponsePageLinks\n meta?: ResponseMetaOrders\n included?: OrdersIncluded\n}\n\nexport type OrdersAddressData = {\n /**\n * Specifies a user-managed, optional field used as an alternative to the existing order_id. If provided, the order-number will be sent to Authorize.net instead of the order_id, and will appear as the invoice number in Authorize.net transactions.\n */\n order_number?: string\n /**\n * Represents an optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n shipping_address: {\n /**\n * Specifies the first name of the address holder.\n */\n first_name?: string\n /**\n * Specifies the last name of the address holder.\n */\n last_name?: string\n /**\n * Specifies the phone number of the address holder.\n */\n phone_number?: string\n /**\n * Specifies the company name.\n */\n company_name?: string\n /**\n * Specifies the first line of the address.\n */\n line_1?: string\n /**\n * Specifies the second line of the address.\n */\n line_2?: string\n /**\n * Specifies the name of the city in the shipping address.\n */\n city?: string\n /**\n * Specifies the county of the shipping address.\n */\n county?: string\n /**\n * Specifies the state, province, or region of the shipping address.\n */\n region?: string\n /**\n * Specifies the postcode or ZIP code of the address.\n */\n postcode?: string\n /**\n * Specifies the country in the shipping address.\n */\n country?: string\n /**\n * Specifies any instructions provided with the shipping address.\n */\n instructions?: string\n }\n}\n\nexport type OrdersCancelData = {\n /**\n * The status of the order. You can only update the status to `cancelled`.\n */\n status: string\n /**\n * The type of the resource. You must use order.\n */\n type: string\n /**\n * Represents an optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n}\n\nexport type OrdersFulfilledData = {\n /**\n * The shipping status of the order. You can only update the shipping status to `fulfilled`.\n */\n shipping: string\n /**\n * The type of the resource. You must use order.\n */\n type: string\n /**\n * Represents an optional external ID reference for an order. It can contain alphanumeric characters, special characters, and spaces, and is not required to be unique. The maximum allowed length is 64 characters. It can be used to include an external reference from a separate company system.\n */\n external_ref?: string\n}\n\nexport type OrdersUpdateRequest = {\n data?: OrdersAddressData | OrdersCancelData | OrdersFulfilledData\n}\n\nexport type OrderPriceData = {\n /**\n * The amount for this item.\n */\n amount?: number\n /**\n * The currency this item.\n */\n currency?: string\n /**\n * Whether this price is tax inclusive.\n */\n includes_tax?: boolean\n}\n\nexport type DiscountData = {\n amount?: OrderPriceData\n code?: string\n readonly id?: string\n}\n\nexport type OrderItemFormattedUnitPriceData = {\n unit?: FormattedPriceData\n value?: FormattedPriceData\n}\n\nexport type OrderItemResponse = {\n /**\n * The type represents the object being returned.\n */\n type?: string\n /**\n * The unique identifier for this order item.\n */\n readonly id?: string\n /**\n * The quantity of this item were ordered.\n */\n quantity?: number\n /**\n * The unique identifier for this order item.\n */\n readonly product_id?: string\n /**\n * The unique identifier for the subscription offering for this order item.\n */\n readonly subscription_offering_id?: string\n /**\n * The name of this order item.\n */\n name?: string\n /**\n * The SKU code for the order item.\n */\n sku?: string\n unit_price?: OrderPriceData\n value?: OrderPriceData\n discounts?: Array<DiscountData>\n links?: {\n [key: string]: unknown\n }\n meta?: {\n display_price?: {\n with_tax?: OrderItemFormattedUnitPriceData\n without_tax?: OrderItemFormattedUnitPriceData\n tax?: OrderItemFormattedUnitPriceData\n discount?: OrderItemFormattedUnitPriceData\n without_discount?: OrderItemFormattedUnitPriceData\n discounts?: {\n [key: string]: {\n amount?: number\n currency?: string\n formatted?: string\n }\n }\n }\n timestamps?: CartCheckoutTimestamps\n }\n relationships?: {\n cart_item?: {\n data?: {\n /**\n * The type represents the object being returned.\n */\n type?: string\n /**\n * The unique identifier for this item.\n */\n readonly id?: string\n }\n }\n }\n /**\n * The unique identifier of the catalog associated with the product is shown if `catalog_source=pim` is set.\n */\n catalog_id?: string\n /**\n * The catalog source. Always `pim` or `legacy`.\n */\n catalog_source?: string\n}\n\nexport type OrderItemCollectionResponse = {\n data?: Array<OrderItemResponse>\n}\n\nexport type OrdersAnonymizeData = {\n /**\n * The unique identifiers of the orders to be anonymized. You can anonymize multiple orders at the same time.\n */\n order_ids?: Array<string>\n}\n\nexport type OrdersAnonymizeRequest = {\n data?: OrdersAnonymizeData\n}\n\nexport type OrdersListResponse = {\n data: Array<OrderResponse>\n}\n\nexport type DataAdyenPayment = DataBasePayments & {\n /**\n * Specifies the gateway. You must use `adyen`.\n */\n gateway: \"adyen\"\n options?: {\n /**\n * The shopper reference token associated with the saved payment method.\n */\n shopper_reference?: string\n /**\n * Enter CardOnFile for a one-time purchase.\n */\n recurring_processing_model?: string\n }\n /**\n * The Adyen recurringDetailReference payment method identifier.\n */\n payment: string\n}\n\nexport type DataAuthorizeNetPayment = DataBasePayments & {\n /**\n * Specifies the gateway. You must use `authorize_net`.\n */\n gateway: \"authorize_net\"\n options?: {\n /**\n * The Authorize.net customer payment profile ID.\n */\n customer_payment_profile_id?: string\n }\n /**\n * The Authorize.net customer profile ID.\n */\n payment: string\n}\n\nexport type DataBraintreePayment = DataBasePayments & {\n /**\n * Specifies the gateway. You must use `braintree`.\n */\n gateway: \"braintree\"\n /**\n * The Braintree Customer ID that you want to bill.\n */\n payment: string\n}\n\nexport type DataCardConnectPayment = DataBasePayments & {\n /**\n * Specifies the gateway. You must use `card_connect`.\n */\n gateway: \"card_connect\"\n /**\n * Enter account_id, profile_id from CardPointe API. For example, 1|16178397535388255208.\n */\n payment: string\n}\n\nexport type DataCyberSourcePayment = DataBasePayments & {\n /**\n * Specifies the gateway. You must use `cyber_source`.\n */\n gateway: \"cyber_source\"\n /**\n * The CyberSource token.\n */\n payment: string\n}\n\nexport type DataManualPayment = DataBasePayments & {\n /**\n * Specifies the type of payment gateway. You must use `manual`.\n */\n gateway: \"manual\"\n paymentmethod_meta?: {\n /**\n * A reference associated with the payment method. This might include loyalty points or gift card identifiers. We recommend not to include personal information in this field.\n */\n custom_reference?: string\n /**\n * A custom name associated with the payment method.\n */\n name?: string\n }\n}\n\nexport type DataPayPalExpressCheckoutPayment = DataBasePayments & {\n /**\n * Specifies the type of payment gateway. You must use `paypal_express_checkout`.\n */\n gateway: \"paypal_express_checkout\"\n options?: {\n /**\n * The description for the payment.\n */\n description?: string\n /**\n * The descriptor appended to PayPal generated descriptor that is visible on the card statement of the payer.\n */\n soft_descriptor?: string\n application_context?: {\n /**\n * The label that overrides the business name in the PayPal account on the PayPal site.\n */\n brand_name?: string\n /**\n * The locale pages that appear based on language and country code. PayPal supports a five-character code. For example, ja-JP.\n */\n locale?: string\n /**\n * The type of landing page to show on the PayPal site for customer checkout. Use values LOGIN, BILLING, or NO_PREFERENCE.\n */\n landing_page?: string\n /**\n * The shipping preference. Use SET_PROVIDED_ADDRESS value. This parameter does allow the user to change their address on PayPal site.\n */\n shipping_preference?: string\n /**\n * If you set `useraction=commit` in the query string, the flow redirects the buyer to the PayPal payment page and displays a Pay Now button. When the shopper clicks **Pay Now**, call `DoExpressCheckoutPayment` to complete the payment without additional interaction from the shopper. Choose this flow when you know the final payment amount when you initiate the checkout flow.\n */\n user_action?: string\n /**\n * The callback URL for PayPal to redirect the user in the case of approved payment.\n */\n return_url?: string\n /**\n * The callback URL for PayPal to redirect user in the case a cancelled payment.\n */\n cancel_url?: string\n }\n }\n}\n\nexport type DataStripePayment = DataBasePayments & {\n /**\n * Specifies the type of payment gateway. You must use `stripe`.\n */\n gateway: \"stripe\"\n options?: {\n /**\n * The option to provide an email for Stripe receipts. Specify live mode to access this feature.\n */\n receipt_email?: string\n }\n /**\n * The Stripe token or source.\n */\n payment?: string\n}\n\nexport type DataStripeConnectPayment = DataBasePayments & {\n /**\n * Specifies the type of payment gateway. You must use `stripe_connect`.\n */\n gateway: \"stripe_connect\"\n options?: {\n /**\n * Provides the email address to which you want to send the Stripe receipts for the transactions within the store. This feature is available only in the live mode.\n */\n receipt_email?: string\n }\n /**\n * Specifies the Stripe token or source.\n */\n payment?: string\n}\n\nexport type DataStripePaymentIntentsPayment = DataBasePayments & {\n /**\n * Specifies the type of payment gateway. You must use `stripe_payment_intents`.\n */\n gateway: \"stripe_payment_intents\"\n options?: {\n /**\n * Provides the email address to which you want to send the Stripe receipts for the transactions within the store. This feature is available only in the live mode.\n */\n receipt_email?: string\n }\n /**\n * Specifies the Stripe token or source.\n */\n payment?: string\n}\n\nexport type DataPaymentObject =\n | DataAdyenPayment\n | DataAuthorizeNetPayment\n | DataBraintreePayment\n | DataCardConnectPayment\n | DataCyberSourcePayment\n | ElasticPathPaymentsPoweredByStripePayment\n | DataManualPayment\n | DataPayPalExpressCheckoutPayment\n | DataStripePayment\n | DataStripeConnectPayment\n | DataStripePaymentIntentsPayment\n\nexport type PaymentsRequest = {\n data?: DataPaymentObject\n}\n\nexport type TransactionResponse = {\n /**\n * The ID of the transaction.\n */\n readonly id?: string\n /**\n * The payment gateway reference.\n */\n reference?: string\n /**\n * A custom name associated with the payment method.\n */\n name?: string\n /**\n * A reference associated with the payment method. This might include loyalty points or gift card identifiers. We recommend you not to include personal information in this field.\n */\n custom_reference?: string\n /**\n * The name of the payment gateway used.\n */\n gateway?:\n | \"adyen\"\n | \"authorize_net\"\n | \"braintree\"\n | \"card_connect\"\n | \"cyber_source\"\n | \"elastic_path_payments_stripe\"\n | \"manual\"\n | \"paypal_express_checkout\"\n | \"stripe\"\n | \"stripe_connect\"\n | \"stripe_payment_intents\"\n | \"stripe_platform_account\"\n /**\n * The amount for this transaction.\n */\n amount?: number\n /**\n * The refunded amount.\n */\n refunded_amount?: number\n /**\n * The transaction currency.\n */\n currency?: string\n /**\n * The type of transaction, such as `purchase`, `capture`, `authorize` or `refund`.\n */\n \"transaction-type\"?: string\n /**\n * The status provided by the gateway for this transaction, such as `complete` or `failed`.\n */\n status?: string\n relationships?: {\n order?: {\n data?: {\n /**\n * Represents the type of the object being returned. It is always `order`.\n */\n type?: string\n /**\n * The ID of the order.\n */\n id?: string\n }\n }\n }\n meta?: {\n display_price?: FormattedPriceData\n display_refunded_amount?: FormattedPriceData\n timestamps?: CartCheckoutTimestamps\n }\n /**\n * Client parameters required for payment processing. Present when gateway is paypal_express_checkout.\n */\n client_parameters?: {\n /**\n * The token for the payment session.\n */\n token?: string\n /**\n * The URL to redirect the customer to complete the payment.\n */\n redirect_url?: string\n }\n /**\n * Additional payment details specific to the gateway. Present when gateway is paypal_express_checkout.\n */\n payment_details?: {\n /**\n * Detailed status information from the payment gateway.\n */\n detailed_status?: string\n }\n /**\n * Available actions that can be performed on this transaction. Present when gateway is paypal_express_checkout.\n */\n next_actions?: Array<\"cancel\" | \"capture\" | \"refund\">\n}\n\nexport type TransactionEntityResponse = {\n data: TransactionResponse\n}\n\nexport type OrdersTransactionsConfirmRequest = {\n data?: {\n [key: string]: unknown\n }\n}\n\nexport type OrdersTransactionsCaptureRequest = {\n data?: {\n options?: {\n soft_descriptor?: string\n note_to_payer?: string\n }\n }\n}\n\nexport type OrdersTransactionsRefundRequest = {\n data?: {\n /**\n * The amount value to be refunded. If this field is not provided, it will be considered as manual refund (Mark as Refunded) and the refund process must be manually handled via payment provider. If the amount value is same as payment value, then it will be treated as a full refund and sent to the payment provider to process refund automatically.\n */\n amount?: number\n options?: {\n /**\n * Provides comments about the refund. It is used by PayPal Express.\n */\n note?: string\n }\n }\n}\n\nexport type TransactionListResponse = {\n data: Array<TransactionResponse>\n}\n\nexport type ResponseData = {\n data?: unknown\n}\n\nexport type OrdersTransactionsCancelRequest = {\n data?: {\n options?: {\n [key: string]: unknown\n }\n /**\n * Specifies the reason for canceling the transaction. The reason may include `duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned`.\n */\n reason?: string\n }\n}\n\nexport type UpdateOrderShippingGroupRequest = {\n data?: {\n type?: \"shipping_group\"\n shipping_type?: string\n tracking_reference?: string\n address?: ShippingAddress\n delivery_estimate?: DeliveryEstimate\n }\n}\n\nexport type CartCheckoutTimestamps = {\n /**\n * The date this was created.\n */\n created_at?: string\n /**\n * The date this was last updated.\n */\n updated_at?: unknown\n}\n\nexport type CartIncludedPromotion = {\n /**\n * The unique identifier of the promotion.\n */\n id: string\n /**\n * The name of the promotion.\n */\n name: string\n /**\n * A description of the promotion.\n */\n description?: string\n /**\n * Indicates if the promotion is automatic.\n */\n automatic: boolean\n /**\n * The source of the promotion.\n */\n promotion_source: string\n /**\n * The start date and time of the promotion.\n */\n start: Date\n /**\n * The end date and time of the promotion.\n */\n end: Date\n}\n\nexport type SubscriptionItemCartObject = SubscriptionItemObjectData &\n CartItemResponse\n\nexport type PromotionItemCartObject = PromotionItemObjectData &\n CartItemResponse & {\n /**\n * The unique identifier of the promotion item.\n */\n id?: string\n }\n\nexport type CustomItemCartObject = CustomItemObjectData &\n CartItemResponse & {\n /**\n * The unique identifier of the custom item.\n */\n id?: string\n }\n\n/**\n * Included is an array of resources that are included in the response.\n */\nexport type CartIncluded = {\n /**\n * The cart items associated with a cart.\n */\n items?: Array<\n | CartItemObject\n | CustomItemCartObject\n | SubscriptionItemCartObject\n | PromotionItemCartObject\n >\n /**\n * The tax items associated with a cart.\n */\n tax_items?: Array<CartsItemsTaxesObject>\n /**\n * The custom discounts associated with a cart.\n */\n custom_discounts?: Array<CartsCustomDiscountsObject>\n /**\n * The promotions associated with a cart.\n */\n promotions?: Array<CartIncludedPromotion>\n}\n\n/**\n * Included is an array of resources that are included in the response.\n */\nexport type OrdersIncluded = {\n /**\n * The order items associated with an order.\n */\n items?: Array<OrderItemResponse>\n}\n\n/**\n * Included is an array of resources that are included in the response.\n */\nexport type OrderIncluded = {\n /**\n * The order items associated with an order.\n */\n items?: Array<OrderItemResponse>\n}\n\n/**\n * Whether a pricing option is active on a subscription using that offering. The `active_pricing_option` attribute is null if a pricing option is not active in a subscription.\n */\nexport type ActivePricingOption = boolean\n\n/**\n * Whether a plan is active on a subscription using that offering. The `active_plan` attribute is null if a plan is not active in a subscription.\n */\nexport type ActivePlan = boolean\n\n/**\n * A unique attribute that you could use to contain information from another company system, for example. The maximum length is 2048 characters.\n */\nexport type ExternalRef = string\n\n/**\n * A unique attribute that you could use to contain information from another company system, for example. The maximum length is 2048 characters.\n */\nexport type ExternalRefUpdate = string | null\n\nexport type SubscriptionType = \"subscription\"\n\nexport type ProrationPolicyType = \"subscription_proration_policy\"\n\nexport type SubscriptionDunningRuleType = \"subscription_dunning_rule\"\n\nexport type SubscriptionFeatureType = \"subscription_feature\"\n\nexport type SubscriptionOfferingType = \"subscription_offering\"\n\nexport type SubscriptionOfferingFeatureType = \"subscription_offering_feature\"\n\nexport type SubscriptionOfferingPlanType = \"subscription_offering_plan\"\n\nexport type SubscriptionOfferingPricingOptionType =\n \"subscription_offering_pricing_option\"\n\nexport type SubscriptionJobType = \"subscription_job\"\n\nexport type SubscriptionImportType = \"subscription_import\"\n\nexport type SubscriptionImportErrorType = \"subscription_import_error\"\n\nexport type SubscriptionImportError = {\n id: SubscriptionsUuid\n type: SubscriptionImportErrorType\n meta: SubscriptionImportErrorMeta\n}\n\nexport type SubscriptionImportErrorMeta = {\n owner: string\n timestamps: SubscriptionsTimestamps\n error: string\n field: string\n /**\n * The line in the imported JSONL file at which the validation error occurred. Starts from 1.\n */\n line_number: number\n external_ref?: ExternalRef\n}\n\n/**\n * This represents the type of resource object being returned. Always `subscription_invoice`.\n */\nexport type SubscriptionInvoiceType = \"subscription_invoice\"\n\n/**\n * This represents the type of resource object being returned. Always `subscription_invoice_payment`.\n */\nexport type SubscriptionInvoicePaymentType = \"subscription_invoice_payment\"\n\nexport type Links2 = {\n [key: string]: Link\n}\n\nexport type Link = LinkUri | LinkObject\n\nexport type LinkUri = string | null\n\nexport type LinkObject = {\n href?: string\n title?: string\n describedby?: string\n}\n\n/**\n * The status of a subscription, either `active` or `inactive`.\n */\nexport type Status2 = \"active\" | \"inactive\"\n\n/**\n * Enumerates a list of resources that are related.\n */\nexport type RelationshipsRequest = {\n data: Array<RelationshipData>\n}\n\n/**\n * Relationships are established between different subscription entities. For example, a plan and a pricing option are related to an offering, as both are attached to it.\n */\nexport type Relationships = unknown\n\nexport type Relationship = SubscriptionsSingleRelationship | ManyRelationship\n\n/**\n * The list of resources that are related.\n */\nexport type ManyRelationship = {\n data?: Array<RelationshipData>\n links?: RelationshipLinks\n}\n\nexport type RelationshipData = {\n id: SubscriptionsUuid\n /**\n * This represents the type of resource being returned.\n */\n type: string\n}\n\n/**\n * Links are used to allow you, as an API consumer, to move between requests. Single entities use a self parameter with a link to that specific resource. Sometimes, there aren’t enough entities for a project to fill multiple pages. In this situation, we return some defaults, instead of expecting you to check for these special cases.\n *\n * - current - Always the current page.\n * - first - Always the first page.\n * - last - always `null`.\n * - next - `null` if the user is on the first page.\n * - previous - `null` if there is only one page.\n *\n */\nexport type RelationshipLinks = {\n related?: string\n}\n\n/**\n * A period of time between a start and end point.\n */\nexport type TimePeriod = {\n /**\n * The date and time a billing period started.\n */\n start: Date\n /**\n * The date and time a billing period ended.\n */\n end: Date\n}\n\n/**\n * A price in a single currency.\n */\nexport type SingleCurrencyPrice = {\n /**\n * The three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in uppercase, associated with a price.\n */\n currency: string\n /**\n * The value as a whole number of the currency's smallest subdivision.\n */\n amount: BigInt\n /**\n * Whether the amount includes any taxes.\n */\n includes_tax?: boolean\n}\n\n/**\n * A unit of time.\n */\nexport type Unit = \"day\" | \"month\"\n\n/**\n * The timeframe during which the plan price is applicable. For example, for a streaming service, the price is $12.99 and the `unit` is `months` and the `amount` is `1`. In other words, the streaming service is available for $12.99 a month. You may want to specify a unit price if you have many plans that all have different prices. Rather than having to create separate pricing options for each plan, you can specify the timeframe during which the plan price is applicable and then create one pricing option that determines the billing frequency for those plans.\n */\nexport type PriceUnits = {\n /**\n * A unit of time.\n */\n unit: \"day\" | \"month\"\n /**\n * The number of days or months the period covers.\n */\n amount: number\n}\n\n/**\n * The timeframe during which the plan price is applicable. For example, for a streaming service, the price is $12.99 and the `unit` is `months` and the `amount` is `1`. In other words, the streaming service is available for $12.99 a month. You may want to specify a unit price if you have many plans that all have different prices. Rather than having to create separate pricing options for each plan, you can specify the timeframe during which the plan price is applicable and then create one pricing option that determines the billing frequency for those plans.\n */\nexport type NullablePriceUnits = {\n /**\n * A unit of time, either days or months.\n */\n unit: \"day\" | \"month\"\n /**\n * The number of days or months the period covers.\n */\n amount: number\n} | null\n\nexport type Price = unknown\n\nexport type NullablePrice = {\n [key: string]: {\n /**\n * The value as a whole number of the currency's smallest subdivision.\n */\n amount: BigInt\n /**\n * Whether the amount includes any taxes.\n */\n includes_tax?: boolean\n } | null\n} | null\n\n/**\n * A list of plan prices for each of its pricing options.\n */\nexport type OfferingPlanPrices = {\n [key: string]: OfferingPlanPriceForPricingOption\n}\n\nexport type OfferingPlanPriceForPricingOption = {\n price?: Price\n display_price?: DisplayPrice2\n}\n\nexport type DisplayPrice2 = {\n without_tax?: PriceFormatting\n with_tax?: PriceFormatting\n}\n\nexport type PriceFormatting = {\n /**\n * The unformatted amount for the objects.\n */\n amount: BigInt\n /**\n * The three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in uppercase, associated with a price.\n */\n currency: string\n /**\n * The formatted amount for the objects.\n */\n formatted: string\n}\n\nexport type Feature = {\n id?: SubscriptionsUuid\n type: SubscriptionFeatureType\n attributes: FeatureResponseAttributes\n meta: FeatureMeta\n}\n\nexport type FeatureMeta = {\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type FeatureCreate = {\n type: SubscriptionFeatureType\n attributes: FeatureAttributes\n}\n\nexport type FeatureUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionFeatureType\n attributes: FeatureUpdateAttributes\n}\n\nexport type OfferingFeatureCreate = {\n type: SubscriptionOfferingFeatureType\n attributes: FeatureAttributes\n}\n\nexport type FeatureResponseAttributes = FeatureAttributes\n\n/**\n * A tag to add to the customer's account when entitled to the feature.\n */\nexport type FeatureTag = string\n\nexport type FeatureAccessAttributes = {\n type: \"access\"\n tag: FeatureTag\n}\n\nexport type FeaturePromotion = {\n /**\n * The name of the feature.\n */\n name: string\n tag: FeatureTag\n promotion_id?: SubscriptionsUuid\n}\n\nexport type FeaturePromotionAttributes = {\n type: \"promotion\"\n promotions: Array<FeaturePromotion>\n}\n\nexport type FeatureUsageAttributes = {\n type: \"usage\"\n tag: FeatureTag\n /**\n * The property that has a usage limit.\n */\n label: string\n /**\n * The default initial value\n */\n default_value: number\n}\n\nexport type FeatureConfiguration = (\n | ({\n type?: \"access\"\n } & FeatureAccessAttributes)\n | ({\n type?: \"promotion\"\n } & FeaturePromotionAttributes)\n | ({\n type?: \"usage\"\n } & FeatureUsageAttributes)\n) & {\n /**\n * The type of feature, one of access, promotion or usage.\n */\n type: \"access\" | \"promotion\" | \"usage\"\n}\n\nexport type FeatureAttributes = {\n external_ref?: ExternalRef\n /**\n * The name of the feature.\n */\n name: string\n /**\n * The feature description to display to customers.\n */\n description?: string\n configuration: FeatureConfiguration\n}\n\nexport type FeatureUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n /**\n * The name of the feature.\n */\n name?: string\n /**\n * The feature description to display to customers.\n */\n description?: string | null\n configuration?: FeatureConfiguration\n}\n\nexport type PlanMeta = {\n prices?: OfferingPlanPrices\n display_price?: DisplayPrice2\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n active_plan?: ActivePlan\n}\n\nexport type OfferingPlanCreate = {\n type: SubscriptionOfferingPlanType\n attributes: OfferingPlanAttributes\n relationships?: Relationships\n}\n\nexport type OfferingPlanAttributes = PlanAttributes &\n OfferingPlanExtraAttributes\n\nexport type OfferingPlanResponseAttributes = PlanResponseAttributes &\n OfferingPlanResponseExtraAttributes\n\nexport type OfferingPlanExtraAttributes = {\n /**\n * A map of configurations indicating which features are available for the plan\n */\n feature_configurations?: {\n [key: string]: FeaturePlanConfiguration\n }\n}\n\nexport type OfferingPlanResponseExtraAttributes = {\n /**\n * A map of configurations indicating which features are available for the plan\n */\n feature_configurations: {\n [key: string]: FeaturePlanConfiguration\n }\n}\n\nexport type PlanResponseAttributes = PlanAttributes & SubscriptionsTimestamps\n\nexport type PlanAttributes = {\n external_ref?: ExternalRef\n /**\n * The name of the plan.\n */\n name: string\n /**\n * The plan or service description to display to customers.\n */\n description?: string\n /**\n * A stock keeping unit for the plan, if appropriate.\n */\n sku?: string\n /**\n * A URL from which an image or file for the plan can be fetched. You can either upload your images and files to Commerce using the Commerce Files API or you can use your own content delivery network. If you are using the Commerce Files API, use [**Create a File**](/docs/api/pxm/files/create-a-file) to upload your file and return an HREF link in the response. An extensive range of [**media and file extensions**](/docs/api/pxm/files/files-service-api) are supported.\n */\n main_image?: string\n price?: Price\n price_units?: PriceUnits\n}\n\nexport type OfferingPlanUpdateAttributes = PlanUpdateAttributes &\n OfferingPlanUpdateExtraAttributes\n\nexport type OfferingPlanUpdateExtraAttributes = {\n /**\n * A map of configurations indicating which features are available for the plan\n */\n feature_configurations?: {\n [key: string]: FeaturePlanConfigurationUpdate\n }\n}\n\nexport type PlanUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n /**\n * The name of the plan.\n */\n name?: string\n /**\n * The plan or service description to display to customers.\n */\n description?: string | null\n /**\n * A stock keeping unit for the plan, if appropriate.\n */\n sku?: string | null\n /**\n * A URL from which an image or file for the plan can be fetched. You can either upload your images and files to Commerce using the Commerce Files API or you can use your own content delivery network. If you are using the Commerce Files API, use [**Create a File**](/docs/api/pxm/files/create-a-file) to upload your file and return an HREF link in the response. An extensive range of [**media and file extensions**](/docs/api/pxm/files/files-service-api) are supported.\n */\n main_image?: string | null\n price?: NullablePrice\n price_units?: NullablePriceUnits\n}\n\nexport type DunningRule = {\n id?: SubscriptionsUuid\n type: SubscriptionDunningRuleType\n attributes: DunningRuleAttributes\n meta: DunningRuleMeta\n}\n\nexport type DunningRuleMeta = {\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type DunningRuleCreate = {\n type: SubscriptionDunningRuleType\n attributes: DunningRuleAttributes\n}\n\nexport type DunningRuleUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionDunningRuleType\n attributes: DunningRuleUpdateAttributes\n}\n\n/**\n * The strategy used to make payments. Always `fixed`. This means payments are retried on a fixed schedule as defined by the `payment_retry_unit` and `payment_retry_interval`, for example, every two days.\n *\n */\nexport type PaymentRetryType = \"fixed\" | \"backoff\" | \"tiered\"\n\n/**\n * The unit of time used to measure the intervals between payment attempts or retries.\n */\nexport type PaymentRetryUnit = \"day\" | \"week\"\n\n/**\n * The action to take after all payment attempts for an invoice have failed.\n *\n * - None - the subscription remains active and Subscriptions does not attempt to retry the payment. However, the subscription is still available for a subscriber to use.\n * - Suspend the subscription. Subscriptions does not attempt to retry the payment. A subscriber can choose to pay the outstanding invoice. However, a subscriber cannot renew their subscription; a merchandizer must renew the subscription on behalf of the subscriber.\n * - close a subscription. The subscription ends and it's status becomes `inactive`. However, a merchandizer can choose to resume the subscription if a subscriber pays the outstanding payment.\n *\n */\nexport type Action = \"none\" | \"pause\" | \"close\" | \"suspend\"\n\n/**\n * The dunning rule attributes you can use to configure your payment retry strategy.\n *\n */\nexport type DunningRuleAttributes = {\n /**\n * The strategy used to make payments. Always `fixed`. This means payments are retried on a fixed schedule as defined by the `payment_retry_unit` and `payment_retry_interval`, for example, every two days.\n *\n */\n payment_retry_type: \"fixed\" | \"backoff\" | \"tiered\"\n /**\n * The number of `payment_interval_unit`s to wait between each payment retry attempt.\n */\n payment_retry_interval?: BigInt\n /**\n * The unit of time used to measure the intervals between payment attempts or retries.\n */\n payment_retry_unit?: \"day\" | \"week\"\n /**\n * The multiplier that increases the interval between consecutive each payment attempts or retries. This is typically used to gradually extend the time between retries. Allowing more time between attempts as failures persist, helps reduce the risk of triggering multiple failures in a short period and gives the subscriber more time to resolve the issue. Must only be set for backup types.\n */\n payment_retry_multiplier?: number\n /**\n * The number of times Subscriptions attempts payment retries before `action` is taken.\n */\n payment_retries_limit: BigInt\n /**\n * The action to take after all payment attempts for an invoice have failed.\n *\n * - None - the subscription remains active and Subscriptions does not attempt to retry the payment. However, the subscription is still available for a subscriber to use.\n * - Suspend the subscription. Subscriptions does not attempt to retry the payment. A subscriber can choose to pay the outstanding invoice. However, a subscriber cannot renew their subscription; a merchandizer must renew the subscription on behalf of the subscriber.\n * - close a subscription. The subscription ends and it's status becomes `inactive`. However, a merchandizer can choose to resume the subscription if a subscriber pays the outstanding payment.\n *\n */\n action: \"none\" | \"pause\" | \"close\" | \"suspend\"\n /**\n * Set to `true` if you want this rule to be the default for the store.\n */\n default?: boolean\n}\n\nexport type DunningRuleUpdateAttributes = {\n /**\n * The strategy used to make payments. Always `fixed`. This means payments are retried on a fixed schedule as defined by the `payment_retry_unit` and `payment_retry_interval`, for example, every two days.\n *\n */\n payment_retry_type?: \"fixed\" | \"backoff\" | \"tiered\"\n /**\n * The number of `payment_interval_unit`s to wait between each payment retry attempt.\n */\n payment_retry_interval?: BigInt | null\n /**\n * The unit of time used to measure the intervals between payment attempts or retries.\n */\n payment_retry_unit?: \"day\" | \"week\"\n /**\n * The multiplier that increases the interval between consecutive each payment attempts or retries. This is typically used to gradually extend the time between retries. Allowing more time between attempts as failures persist, helps reduce the risk of triggering multiple failures in a short period and gives the subscriber more time to resolve the issue. Must only be set for backup types.\n */\n payment_retry_multiplier?: number | null\n /**\n * The number of times Subscriptions attempts payment retries before `action` is taken.\n */\n payment_retries_limit?: BigInt\n /**\n * The action to take after all payment attempts for an invoice have failed.\n */\n action?: \"none\" | \"pause\" | \"close\" | \"suspend\"\n /**\n * Set to `true` if you want this rule to be the default for the store.\n */\n default?: boolean\n}\n\nexport type ProrationPolicy = {\n id?: SubscriptionsUuid\n type: ProrationPolicyType\n attributes: ProrationPolicyResponseAttributes\n meta: ProrationPolicyMeta\n}\n\nexport type ProrationPolicyUpdate = {\n id: SubscriptionsUuid\n type: ProrationPolicyType\n attributes: ProrationPolicyUpdateAttributes\n}\n\nexport type ProrationPolicyRelationshipAttributes = {\n type: ProrationPolicyType\n id: SubscriptionsUuid\n}\n\nexport type ProrationPolicyUpdateRelationshipAttributes = {\n type: ProrationPolicyType\n id: SubscriptionsUuid\n} | null\n\nexport type ProrationPolicyResponseAttributes = ProrationPolicyAttributes\n\nexport type ProrationPolicyCreate = {\n type: ProrationPolicyType\n attributes: ProrationPolicyAttributes\n}\n\n/**\n * When rounding in proration, you must decide how to round the units of time used to calculate the charges.\n *\n * - round up to the next unit, ensuring subscribers are charged slightly more to cover any partial use.\n * - round down to the previous whole unit, providing subscribers with a slight benefit by not charging for partial use.\n * - round to the nearest whole unit, whether up or down, based on standard rounding rules. For example, rounding 0.5 up and rounding 0.5 down.\n *\n */\nexport type Rounding = \"up\" | \"down\" | \"nearest\"\n\nexport type ProrationPolicyAttributes = {\n /**\n * A name for the proration policy.\n */\n name: string\n /**\n * When rounding in proration, you must decide how to round the units of time used to calculate the charges.\n *\n * - round up to the next unit, ensuring subscribers are charged slightly more to cover any partial use.\n * - round down to the previous whole unit, providing subscribers with a slight benefit by not charging for partial use.\n * - round to the nearest whole unit, whether up or down, based on standard rounding rules. For example, rounding 0.5 up and rounding 0.5 down.\n *\n */\n rounding: \"up\" | \"down\" | \"nearest\"\n external_ref?: ExternalRef\n}\n\nexport type ProrationPolicyUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n /**\n * The name of the proration policy.\n */\n name?: string\n /**\n * Whether to round up or down\n */\n rounding?: \"up\" | \"down\" | \"nearest\"\n}\n\nexport type ProrationPolicyMeta = {\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type OfferingPricingOptionCreate = {\n type: SubscriptionOfferingPricingOptionType\n attributes: PricingOptionAttributes\n}\n\nexport type PricingOptionResponseAttributes = PricingOptionAttributes &\n SubscriptionsTimestamps\n\n/**\n * The unit of time that billing intervals are measured.\n */\nexport type BillingIntervalType = \"day\" | \"week\" | \"month\" | \"year\"\n\n/**\n * Enables you to specify recurring payments. If `end_behavior` is `roll`, customers pay regularly and repeatedly. If `end_behavior` is `close`, customers pay a total amount in a limited number of partial payments.\n */\nexport type EndBehavior = \"close\" | \"roll\"\n\nexport type PricingOptionAttributes = {\n external_ref?: ExternalRef\n /**\n * A name for the pricing option.\n */\n name: string\n /**\n * The pricing option description to display to customers.\n */\n description?: string\n /**\n * The unit of time that billing intervals are measured.\n */\n billing_interval_type: \"day\" | \"week\" | \"month\" | \"year\"\n /**\n * The number of intervals between issuing bills.\n */\n billing_frequency: number\n /**\n * The number of intervals from the start of the subscription before billing starts. Used with `billing_interval_type`. For example, if `billing_interval_type` is `months`, and `trial_period` is `1`, the trial period is 1 month.\n */\n trial_period?: number\n /**\n * The number of intervals that the subscription runs for.\n */\n plan_length: number\n /**\n * Enables you to specify recurring payments. If `end_behavior` is `roll`, customers pay regularly and repeatedly. If `end_behavior` is `close`, customers pay a total amount in a limited number of partial payments.\n */\n end_behavior: \"close\" | \"roll\"\n /**\n * The subscriber can pause a subscription.\n */\n can_pause: boolean\n /**\n * The subscriber can resume a paused subscription.\n */\n can_resume: boolean\n /**\n * The subscriber can cancel a subscription.\n */\n can_cancel: boolean\n /**\n * A percentage discount on the total cost of any plans within an offering. For example, you can configure a percentage that equates the cost of a pricing option to the total value of all plans within the offering, reduced by a percentage. For example, if you specify `10`, a 10% discount is applied to the total value of all repeat plans in an offering.\n */\n base_price_percentage?: number\n fixed_price?: Price\n}\n\nexport type PricingOptionUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n name?: string\n /**\n * The pricing option description to display to customers.\n */\n description?: string | null\n /**\n * The unit of time in which billing intervals are measured.\n */\n billing_interval_type?: \"day\" | \"week\" | \"month\" | \"year\"\n /**\n * The number of intervals between issuing bills.\n */\n billing_frequency?: number\n /**\n * The number of intervals from the start of the subscription before billing starts. Used with `billing_interval_type`. For example, if `billing_interval_type` is `months`, and `trial_period` is `1`, the trial period is 1 month.\n */\n trial_period?: number | null\n /**\n * The length of time for which a subscription plan is valid. For example, six months after which the plan is renewed.\n */\n plan_length?: number\n /**\n * Enables you to specify recurring payments. If `end_behavior` is `roll`, customers pay regularly and repeatedly. If `end_behavior` is `close`, customers pay a total amount in a limited number of partial payments.\n */\n end_behavior?: \"close\" | \"roll\"\n /**\n * The subscriber can pause a subscription.\n */\n can_pause?: boolean\n /**\n * The subscriber can resume a paused subscription.\n */\n can_resume?: boolean\n /**\n * The subscriber can cancel a subscription.\n */\n can_cancel?: boolean\n /**\n * A percentage discount on the total cost of any plans within an offering. For example, you can configure a percentage that equates the cost of a pricing option to the total value of all plans within the offering, reduced by a percentage. For example, if you specify `10`, a 10% discount is applied to the total value of all repeat plans in an offering.\n */\n base_price_percentage?: number | null\n fixed_price?: NullablePrice\n}\n\nexport type BuildOffering = {\n external_ref?: ExternalRef\n /**\n * The name of the offering.\n */\n name: string\n /**\n * The offering description to display to customers.\n */\n description?: string\n /**\n * The unique ID or external ref of the proration policy\n */\n proration_policy_id?: string\n configured_features?: OfferingBuildConfiguredFeatures\n pricing_option_associations?: OfferingBuildPricingOptionAssociations\n /**\n * Either references of existing features (id or external_ref) to be attached to the offering or feature information to be created directly within the offering\n */\n features?: Array<ExternalRef | FeatureAttributes | SubscriptionsUuid>\n /**\n * Plan information to be created within the offering\n */\n plans: Array<OfferingPlanAttributes>\n /**\n * Pricing options information to be created within the offering\n */\n pricing_options: Array<PricingOptionAttributes>\n}\n\nexport type Offering = {\n id?: SubscriptionsUuid\n type: SubscriptionOfferingType\n attributes: OfferingResponseAttributes\n relationships?: Relationships\n meta: OfferingMeta\n}\n\nexport type OfferingIncludes = {\n features?: Array<OfferingFeature>\n plans?: Array<OfferingPlan>\n pricing_options?: Array<OfferingPricingOption>\n}\n\nexport type OfferingMeta = {\n external_plan_refs: Array<OfferingPlanExternalRefMeta>\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type OfferingCreate = {\n type: SubscriptionOfferingType\n attributes: OfferingAttributes\n relationships?: OfferingRelationships\n}\n\nexport type OfferingPlanUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionOfferingPlanType\n attributes: OfferingPlanUpdateAttributes\n}\n\n/**\n * Configures an access feature against a plan in an offering, indicating that the referenced feature is a benefit of that plan.\n */\nexport type FeatureConfigAccessAttributes = {\n type: \"access\"\n}\n\n/**\n * Configures a promotion feature against a plan in an offering, indicating that the referenced feature is a benefit of that plan. The tag of the specific promotion that it to be made available must be supplied.\n */\nexport type FeatureConfigPromotionAttributes = {\n type: \"promotion\"\n tag: FeatureTag\n}\n\n/**\n * Configures a usage feature against a plan in an offering, indicating that the referenced feature is a benefit of that plan. The default value that the usage metrics adopts must be supplied.\n */\nexport type FeatureConfigUsageAttributes = {\n type: \"usage\"\n /**\n * The default initial value\n */\n default_value: number\n}\n\nexport type FeaturePlanConfiguration = (\n | ({\n type?: \"access\"\n } & FeatureConfigAccessAttributes)\n | ({\n type?: \"promotion\"\n } & FeatureConfigPromotionAttributes)\n | ({\n type?: \"usage\"\n } & FeatureConfigUsageAttributes)\n) & {\n /**\n * The type of feature, one of access, promotion or usage.\n */\n type: \"access\" | \"promotion\" | \"usage\"\n}\n\nexport type FeaturePlanConfigurationUpdate = (\n | ({\n type?: \"access\"\n } & FeatureConfigAccessAttributes)\n | ({\n type?: \"promotion\"\n } & FeatureConfigPromotionAttributes)\n | ({\n type?: \"usage\"\n } & FeatureConfigUsageAttributes)\n | null\n) & {\n /**\n * The type of feature, one of access, promotion or usage.\n */\n type: \"access\" | \"promotion\" | \"usage\"\n}\n\nexport type OfferingBuildPlanPricingOptions = Array<string>\n\n/**\n * A map of plans keyed by plan UUID or external_ref to a list of associated pricing options, similarly keyed.\n */\nexport type OfferingBuildPricingOptionAssociations = {\n [key: string]: OfferingBuildPlanPricingOptions\n}\n\n/**\n * Map of feature configurations keyed by plan UUID or external_ref\n */\nexport type OfferingBuildConfiguredFeatures = {\n [key: string]: OfferingBuildPlanFeatures\n}\n\n/**\n * A map of configurations indicating which features are available for the plan\n */\nexport type OfferingBuildPlanFeatures = {\n [key: string]: FeaturePlanConfiguration\n}\n\nexport type OfferingFeatureUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionOfferingFeatureType\n attributes: FeatureUpdateAttributes\n}\n\nexport type OfferingFeature = {\n id?: SubscriptionsUuid\n type: SubscriptionOfferingFeatureType\n attributes: FeatureResponseAttributes\n relationships?: Relationships\n meta: FeatureMeta\n}\n\nexport type OfferingPlan = {\n id?: SubscriptionsUuid\n type: SubscriptionOfferingPlanType\n attributes: OfferingPlanResponseAttributes\n relationships?: Relationships\n meta: PlanMeta\n}\n\nexport type OfferingPricingOptionUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionOfferingPricingOptionType\n attributes: PricingOptionUpdateAttributes\n}\n\nexport type OfferingPricingOption = {\n id?: SubscriptionsUuid\n type: SubscriptionOfferingPricingOptionType\n attributes: PricingOptionResponseAttributes\n relationships?: Relationships\n meta: OfferingPricingOptionMeta\n}\n\nexport type OfferingPricingOptionMeta = {\n prices?: OfferingPricingOptionPrices\n price?: Price\n display_price?: DisplayPrice2\n active_pricing_option?: ActivePricingOption\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\n/**\n * The price of each plan within the offering that this pricing option may be applied to.\n */\nexport type OfferingPricingOptionPrices = {\n [key: string]: OfferingPricingOptionPriceForPlan\n}\n\nexport type OfferingPricingOptionPriceForPlan = {\n price?: Price\n display_price?: DisplayPrice2\n}\n\n/**\n * A list of feature IDs to attach to the offering. See [**List Features**](/docs/api/subscriptions/list-features).\n */\nexport type OfferingFeatureAttach = {\n features: Array<SubscriptionsUuid>\n}\n\nexport type OfferingUpdate = unknown & {\n id: SubscriptionsUuid\n type: SubscriptionOfferingType\n attributes?: OfferingUpdateAttributes\n relationships?: OfferingUpdateRelationships\n}\n\nexport type OfferingResponseAttributes = OfferingAttributes &\n SubscriptionsTimestamps\n\nexport type OfferingAttributes = {\n external_ref?: ExternalRef\n /**\n * The name of the offering.\n */\n name: string\n /**\n * The offering description to display to customers.\n */\n description?: string\n}\n\nexport type OfferingUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n /**\n * The name of the offering.\n */\n name?: string\n /**\n * The offering description to display to customers.\n */\n description?: string | null\n}\n\nexport type OfferingRelationships = {\n proration_policy?: ProrationPolicyRelationshipAttributes\n}\n\nexport type OfferingUpdateRelationships = {\n proration_policy?: ProrationPolicyUpdateRelationshipAttributes\n}\n\n/**\n * A subscription may optionally be associated with an item in an order by supplying both the order ID and the ID of the item within that order.\n */\nexport type BuildSubscriptionOrder = {\n order_id: SubscriptionsUuid\n order_item_id: SubscriptionsUuid\n}\n\nexport type BuildSubscription = {\n external_ref?: ExternalRef\n account_id: SubscriptionsUuid\n address_id?: SubscriptionsUuid\n offering_external_ref?: ExternalRef\n offering_id?: SubscriptionsUuid\n plan_id?: SubscriptionsUuid\n pricing_option_id?: SubscriptionsUuid\n currency: CurrencyIdentifier\n payment_authority?: PaymentAuthority\n manual_payments: ManualPayments\n name: string\n email: string\n /**\n * Whether a subscription is pending activation or not. See [Creating a pending subscription](/docs/api/subscriptions/subscriptions#creating-a-pending-subscription).\n */\n pending?: boolean\n /**\n * Indicates that payment for the first billing period of the subscription has already been taken. As well as creating the subscription a settled invoice is created to cover the first period.\n */\n first_invoice_paid?: boolean\n /**\n * When importing an active subscription from an existing system you can specify the date and time of the start of the most recent period. This may only be supplied when `first_invoice_paid` is true. As well as creating the subscription a settled invoice is created to cover the correct billing period.\n */\n started_at?: string\n offering?: OfferingAttributes\n /**\n * Either references of existing features (id or external_ref) to be attached to the offering or feature information to be created directly within the offering\n */\n features?: Array<ExternalRef | FeatureAttributes | SubscriptionsUuid>\n plans?: Array<PlanAttributesAndSelectedMeta>\n pricing_options?: Array<PricingOptionAttributesAndSelectedMeta>\n configured_features?: OfferingBuildConfiguredFeatures\n pricing_option_associations?: OfferingBuildPricingOptionAssociations\n selected_plan?: ExternalRef\n selected_pricing_option?: ExternalRef\n order?: BuildSubscriptionOrder\n meta?: SubscriptionMeta\n}\n\nexport type PricingOptionAttributesAndSelectedMeta = PricingOptionAttributes &\n SelectedMeta\n\nexport type PlanAttributesAndSelectedMeta = PlanAttributes & SelectedMeta\n\nexport type SelectedMeta = {\n meta?: SelectedMetaAttributes\n}\n\nexport type SelectedMetaAttributes = {\n /**\n * One item must be selected for use in the subscription\n */\n selected?: boolean\n}\n\nexport type Subscription = {\n id?: SubscriptionsUuid\n type: SubscriptionType\n attributes: SubscriptionAttributes\n relationships?: Relationships\n meta: SubscriptionMeta\n}\n\nexport type ManageSubscriptionPlans = {\n type: \"detach\"\n plans: Array<SubscriptionsUuid>\n}\n\nexport type SubscriptionUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionType\n attributes: SubscriptionUpdateAttributes\n}\n\nexport type SubscriptionUpdateAttributes = {\n pricing_option_id?: unknown\n plan_id?: unknown\n address_id?: string | null\n payment_authority?: PaymentAuthority\n /**\n * The date and time a `pending` subscription goes live and becomes active. See [Creating a pending subscription](/docs/api/subscriptions/subscriptions#creating-a-pending-subscription).\n */\n go_live_after?: string | null\n}\n\nexport type SubscriptionIncludes = {\n plans?: Array<OfferingPlan>\n pricing_options?: Array<OfferingPricingOption>\n}\n\nexport type SubscriptionMeta = {\n owner: OwnerMeta\n timestamps: SubscriptionTimestamps\n status: Status2\n state?: SubscriptionState\n manual_payments: ManualPayments\n /**\n * Indicates that the first billing period of this subscription was paid for outside of the subscriptions service.\n */\n first_invoice_prepaid: boolean\n /**\n * Whether a subscription is canceled or not.\n */\n canceled: boolean\n /**\n * Whether a subscription is paused or not.\n */\n paused: boolean\n /**\n * Whether a subscription is closed or not.\n */\n closed: boolean\n /**\n * Whether a subscription is suspended or not.\n */\n suspended: boolean\n /**\n * Whether a subscription is pending activation or not.\n */\n pending: boolean\n /**\n * The time when the subscription becomes eligible for a new invoice. The next invoice will be generated at the next billing run after this point.\n */\n invoice_after: string\n}\n\nexport type SubscriptionTimestamps = SubscriptionsTimestamps & {\n /**\n * The date and time a subscription was cancelled.\n */\n canceled_at?: string\n /**\n * The date and time a subscription was paused.\n */\n paused_at?: string\n /**\n * The date and time a subscription was resumed.\n */\n resumed_at?: string\n /**\n * The date and time a subscription will end.\n */\n end_date?: string\n /**\n * The date and time a subscription will go live and become active.\n */\n go_live_after?: string\n /**\n * The date and time a subscription was released from the pending state and made active.\n */\n go_live?: string\n}\n\nexport type SubscriptionAttributes = {\n external_ref?: ExternalRef\n account_id: SubscriptionsUuid\n address_id?: SubscriptionsUuid\n offering: Offering\n pricing_option_id: SubscriptionsUuid\n plan_id: SubscriptionsUuid\n currency: CurrencyIdentifier\n payment_authority?: PaymentAuthority\n}\n\nexport type ChangeState = {\n type: SubscriptionStateType\n attributes: SubscriptionStateAttributes\n}\n\nexport type SubscriptionStateAttributes = {\n action: SubscriptionStateAction\n}\n\n/**\n * This represents the type of resource object being returned. Always `subscription_state`.\n */\nexport type SubscriptionStateType = \"subscription_state\"\n\n/**\n * The subscription lifecycle is the states that a subscription can go through when a customer subscribes to a service or a plan.\n *\n * A subscription can have the following states; `canceled`, `paused`, or `resumed`.\n *\n * See [**Managing the subscription lifecycle**](/docs/api/subscriptions/subscriptions#managing-the-subscription-lifecycle).\n *\n */\nexport type SubscriptionStateAction = \"cancel\" | \"pause\" | \"resume\" | \"pending\"\n\nexport type StateMeta = {\n /**\n * The date and time a resource was created.\n */\n created_at: string\n}\n\nexport type SubscriptionState = {\n id?: SubscriptionsUuid\n type: SubscriptionStateType\n attributes: SubscriptionStateAttributes\n meta: StateMeta\n}\n\n/**\n * When configured to true, no payment gateway is used and a pending payment is created. See [External Payments](/docs/api/subscriptions/invoices#external-payments).\n */\nexport type ManualPayments = boolean\n\nexport type PaymentAuthority = (\n | ({\n type?: \"elastic_path_payments_stripe\"\n } & PaymentAuthorityStripe)\n | ({\n type?: \"authorize_net\"\n } & PaymentAuthorityAuthorizeNet)\n) & {\n /**\n * The name of the payment gateway facilitating the secure transmission of payment data.\n */\n type: \"authorize_net\" | \"elastic_path_payments_stripe\"\n}\n\nexport type NullablePaymentAuthority = (\n | ({\n type?: \"elastic_path_payments_stripe\"\n } & PaymentAuthorityStripe)\n | ({\n type?: \"authorize_net\"\n } & PaymentAuthorityAuthorizeNet)\n | null\n) & {\n /**\n * The name of the payment gateway facilitating the secure transmission of payment data.\n */\n type: \"authorize_net\" | \"elastic_path_payments_stripe\"\n}\n\nexport type PaymentAuthorityAuthorizeNet = {\n /**\n * The name of the payment gateway facilitating the secure transmission of payment data.\n */\n type: \"authorize_net\"\n /**\n * The customer's payment profile id, unique to Authorize.net, used to facilitate payment of the subscription.\n */\n payment_profile_id?: string\n /**\n * The customer's profile id, unique to Authorize.net, used to facilitate payment of the subscription.\n */\n customer_profile_id?: string\n}\n\nexport type PaymentAuthorityStripe = {\n /**\n * The name of the payment gateway facilitating the secure transmission of payment data.\n */\n type: \"elastic_path_payments_stripe\"\n /**\n * The unique identifier for a customer.\n */\n customer_id?: string\n /**\n * The unique identifier of the card used to facilitate payment of the subscription. If a card payment fails, you can use the `card_id` and `customer_id` attributes to program your front-end implementation to allow your preferred payment service provider to update a subscription with new card details. See [Card declines](/docs/api/subscriptions/invoices#card-declines).\n */\n card_id?: string\n}\n\nexport type Import = {\n id?: SubscriptionsUuid\n type: SubscriptionImportType\n attributes: ImportAttributes\n meta: ImportMeta\n}\n\nexport type ImportAttributes = {\n external_ref?: ExternalRef\n /**\n * The status of job.\n * - **pending** - Commerce has received the request but is currently busy processing other requests.\n * - **started** - Commerce has started processing the job.\n * - **success** - The job has successfully completed.\n * - **failed** - The job has failed.\n *\n */\n status: \"pending\" | \"started\" | \"success\" | \"failed\"\n}\n\nexport type ImportMeta = {\n owner: OwnerMeta\n timestamps: JobTimestamps\n records: ImportRecords\n}\n\n/**\n * You can track the number of records imported to ensure the completeness, accuracy and integrity of the import. Uploaded shows the number of records ready to be imported into Subscriptions. However, this does not mean they are valid subscription objects, only that they have the correct type and their JSON format is properly formatted. Imported shows the number of records that have been both validated and successfully added to Subscriptions.\n */\nexport type ImportRecords = {\n uploaded: {\n /**\n * The total number of features uploaded.\n */\n subscription_feature: number\n /**\n * The total number of subscribers uploaded.\n */\n subscription_subscriber: number\n /**\n * The total number of offerings uploaded.\n */\n subscription_offering: number\n /**\n * The total number of subscriptions uploaded.\n */\n subscription: number\n }\n imported: {\n /**\n * The total number of features uploaded.\n */\n subscription_feature: number\n /**\n * The total number of subscribers imported.\n */\n subscription_subscriber: number\n /**\n * The total number of offerings imported.\n */\n subscription_offering: number\n /**\n * The total number of subscriptions imported.\n */\n subscription: number\n }\n}\n\nexport type Job = {\n id?: SubscriptionsUuid\n type: SubscriptionJobType\n attributes: JobResponseAttributes\n relationships?: Relationships\n meta: JobMeta\n}\n\nexport type JobMeta = {\n owner: OwnerMeta\n timestamps: JobTimestamps\n report?: JobReport\n}\n\n/**\n * You can track your Subscriptions billing, tax, and payment operations using reports.\n */\nexport type JobReport = BillingRunReport | TaxRunReport | PaymentRunReport\n\nexport type BillingRunReport = {\n /**\n * The total number of invoices created that are ready for payment.\n */\n invoices_ready_for_payment: number\n /**\n * The total number of invoices created that need taxes to be applied before payment can be made.\n */\n invoices_tax_required: number\n /**\n * The total number of invoices that were scheduled but creation failed.\n */\n invoice_failures: number\n total_ready_for_payment: unknown & Price\n total_tax_required: unknown & Price\n}\n\nexport type TaxRunReport = {\n /**\n * The total number of invoices to which tax was successfully added.\n */\n invoices_updated: number\n /**\n * The total number of invoices to which tax could not be added.\n */\n invoice_failures: number\n}\n\nexport type PaymentRunReport = {\n /**\n * The total number of invoices for which payment was attempted.\n */\n total_payment_attempts: number\n /**\n * The number of failed payment attempts.\n */\n failed_payments: number\n total_collected: unknown & Price\n}\n\nexport type JobTimestamps = SubscriptionsTimestamps & {\n /**\n * The date and time a job is started.\n */\n started_at?: string\n /**\n * The date and time a job finished.\n */\n finished_at?: string\n}\n\nexport type JobCreate = {\n type: SubscriptionJobType\n attributes: JobCreateAttributes\n}\n\nexport type JobResponseAttributes = JobCreateAttributes &\n JobAttributes &\n SubscriptionsTimestamps\n\n/**\n * The type of job. One of the following:\n * - `billing_run` - a billing run job.\n * - `payment_run` - a payment run job.\n * - `tax_run` - a tax run job.\n *\n */\nexport type JobType = \"billing-run\" | \"tax-run\" | \"payment-run\" | \"import\"\n\nexport type JobCreateAttributes = {\n external_ref?: ExternalRef\n job_type: JobType\n taxes?: Array<InvoiceTaxItems>\n}\n\nexport type JobAttributes = {\n external_ref?: ExternalRef\n /**\n * The status of job.\n */\n status: \"pending\" | \"started\" | \"success\" | \"failed\"\n}\n\nexport type InvoiceTaxItems = {\n invoice_id: SubscriptionsUuid\n tax_items: Array<TaxItem>\n}\n\nexport type TaxItem = {\n /**\n * This represents the type of resource object being returned. Always `tax_item`.\n */\n type: \"tax_item\"\n /**\n * The name that appears on your customer's invoice and usually describes the specific type of tax, for example, `Sales`, `VAT` or `GST`.\n */\n name?: string\n /**\n * The unique identifier assigned to goods and services for taxation purposes.\n */\n code?: string\n /**\n * The tax rate is the percentage of the subscription amount that is required to be paid as tax.\n */\n rate: number\n /**\n * The geographic area or political entity that has authority to levy and collect taxes.\n */\n jurisdiction?: string\n}\n\nexport type SubscriptionInvoice = {\n id?: SubscriptionsUuid\n type: SubscriptionInvoiceType\n attributes: SubscriptionInvoiceAttributes\n relationships?: Relationships\n meta: SubscriptionInvoiceMeta\n}\n\nexport type UpdateInvoicePayment = {\n id: SubscriptionsUuid\n type: SubscriptionInvoicePaymentType\n attributes: UpdateInvoicePaymentAttributes\n}\n\nexport type UpdateInvoicePaymentAttributes = {\n /**\n * Whether the payment was successful.\n */\n success: boolean\n /**\n * An optional external ID that is specific to the gateway used.\n */\n external_payment_id?: string\n /**\n * A message generated by an external payment method that describes why a payment fails.\n */\n failure_detail?: string\n /**\n * The date and time the invoice payment was taken at.\n */\n payment_taken_at?: string\n}\n\nexport type SubscriptionInvoicePayment = {\n id: SubscriptionsUuid\n type: SubscriptionInvoicePaymentType\n attributes: SubscriptionInvoicePaymentAttributes\n meta: SubscriptionInvoicePaymentMeta\n}\n\nexport type SubscriptionInvoiceMeta = {\n owner: OwnerMeta\n subscription_id?: SubscriptionsUuid\n subscriber_id?: SubscriptionsUuid\n price?: SingleCurrencyPrice\n timestamps: InvoiceTimestamps\n proration_events: Array<ProrationEvent>\n}\n\nexport type ProrationEvent = {\n proration_policy_id: SubscriptionsUuid\n /**\n * The value as a whole number of the currency's smallest subdivision\n */\n billing_cost_before_proration: BigInt\n /**\n * The value as a whole number of the currency's smallest subdivision.\n */\n refunded_amount_for_unused_pricing_option: BigInt\n /**\n * The value as a whole number of the currency's smallest subdivision.\n */\n new_pricing_option_cost: BigInt\n /**\n * The date and time the subscription was prorated.\n */\n prorated_at: string\n}\n\nexport type InvoiceTimestamps = SubscriptionsTimestamps & {\n /**\n * The date and time taxes were added to an invoice.\n */\n taxes_added_at?: string\n}\n\nexport type SubscriptionInvoicePaymentMeta = {\n owner: OwnerMeta\n subscription_id: SubscriptionsUuid\n invoice_id: SubscriptionsUuid\n job_id: SubscriptionsUuid\n timestamps: InvoicePaymentTimestamps\n /**\n * Whether manual payments are enabled or the payment will be handled by the configured gateway.\n */\n manual_payment: boolean\n}\n\nexport type InvoicePaymentTimestamps = SubscriptionsTimestamps & {\n /**\n * The date and time a payment was taken.\n */\n payment_taken_at?: string\n}\n\nexport type SubscriptionInvoiceAttributes = {\n billing_period: TimePeriod\n invoice_items: Array<SubscriptionInvoiceItem>\n tax_items?: Array<TaxItem>\n /**\n * The invoice still requires payment if `true`.\n */\n outstanding: boolean\n /**\n * A sequential number assigned by the billing run.\n */\n number?: number\n /**\n * Whether tax is required for this invoice.\n */\n tax_required: boolean\n /**\n * Whether the limit of payment retries has been reached.\n */\n payment_retries_limit_reached: boolean\n /**\n * The date and time an invoice was updated.\n */\n updated_at?: string\n /**\n * The date and time an invoice was created.\n */\n created_at?: string\n /**\n * Whether there is a manual pending payment pending on the invoice.\n */\n manual_payment_pending: boolean\n}\n\nexport type SubscriptionInvoicePaymentAttributes = {\n /**\n * Whether the payment was successful.\n */\n success: boolean\n /**\n * Whether the payment is pending (only for manual payments).\n */\n pending?: boolean\n /**\n * Specifies the payment gateway.\n */\n gateway: string\n /**\n * An optional external ID that is specific to the gateway used.\n */\n external_payment_id?: string\n failure_detail?: PaymentFailureDetail\n amount: SingleCurrencyPrice\n}\n\n/**\n * The reason the payment failed.\n */\nexport type PaymentFailureDetail = {\n reason?: string\n}\n\nexport type SubscriptionInvoiceItem = {\n /**\n * A description of the subscribed item.\n */\n description: string\n price: SingleCurrencyPrice\n plan_id?: SubscriptionsUuid\n /**\n * The start date and time of the billing period in this price\n */\n from_time_period?: string\n /**\n * The end date and time of the billing period in this price\n */\n until_time_period?: string\n}\n\n/**\n * The three-letter [**ISO currency code**](https://www.iso.org/iso-4217-currency-codes.html) in uppercase.\n */\nexport type CurrencyIdentifier = string\n\n/**\n * The owner of a resource, either `store` or `organization`.\n */\nexport type OwnerMeta = string\n\n/**\n * The offerings plan external_ref value\n */\nexport type OfferingPlanExternalRefMeta = string\n\nexport type Subscriber = {\n id?: SubscriptionsUuid\n type: SubscriptionSubscriberType\n attributes: SubscriberResponseAttributes\n meta: SubscriberMeta\n}\n\nexport type SubscriberMeta = {\n /**\n * A list of entitlement tags currently active for the subscriber\n */\n feature_entitlements?: Array<FeatureTag>\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type SubscriptionSubscriberType = \"subscription_subscriber\"\n\nexport type SubscriberResponseAttributes = SubscriberAttributes &\n SubscriptionsTimestamps\n\nexport type SubscriberAttributes = {\n account_id: SubscriptionsUuid\n /**\n * The name of the subscriber.\n */\n name: string\n /**\n * The email of the subscriber.\n */\n email: string\n payment_authority?: PaymentAuthority\n}\n\nexport type SubscriberUpdateAttributes = {\n /**\n * The name of the subscriber.\n */\n name?: string\n /**\n * The email of the subscriber.\n */\n email?: string\n payment_authority?: NullablePaymentAuthority\n}\n\nexport type SubscriberCreate = {\n type: SubscriptionSubscriberType\n attributes: SubscriberAttributes\n}\n\nexport type SubscriberUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionSubscriberType\n attributes: SubscriberUpdateAttributes\n}\n\nexport type ScheduleCreate = {\n type: SubscriptionScheduleType\n attributes: ScheduleAttributes\n}\n\nexport type Schedule2 = {\n id?: SubscriptionsUuid\n type: SubscriptionScheduleType\n attributes: ScheduleResponseAttributes\n meta: ScheduleMeta\n}\n\nexport type ScheduleMeta = {\n scheduled_for?: Date\n owner: OwnerMeta\n timestamps: SubscriptionsTimestamps\n}\n\nexport type SubscriptionScheduleType = \"subscription_schedule\"\n\nexport type ScheduleResponseAttributes = ScheduleAttributes &\n SubscriptionsTimestamps\n\nexport type ScheduleAttributes = {\n external_ref?: ExternalRef\n /**\n * The name of the schedule.\n */\n name?: string\n /**\n * A cron-style specification of when the jobs should be created. See [**Schedules**](/docs/api/subscriptions/schedules).\n */\n specification: string\n /**\n * The location of the time zone that the schedule operates in. Subscriptions runs on Coordinated Universal Time (UTC) time and conforms to [**RFC 3339**](https://www.rfc-editor.org/rfc/rfc3339).\n */\n location: string\n job: ScheduleJob\n}\n\nexport type ScheduleUpdateAttributes = {\n external_ref?: ExternalRefUpdate\n /**\n * The name of the schedule.\n */\n name?: string | null\n /**\n * A cron-style specification of when the jobs should be created.\n */\n specification?: string\n /**\n * The location of the time zone that the schedule operates in.\n */\n location?: string\n job?: ScheduleJob\n}\n\nexport type ScheduleJob = {\n job_type: JobType\n}\n\nexport type ScheduleUpdate = {\n id: SubscriptionsUuid\n type: SubscriptionScheduleType\n attributes: ScheduleUpdateAttributes\n}\n\nexport type SubscriptionsTimestamps = {\n /**\n * The date and time a resource was updated.\n */\n updated_at: string\n /**\n * The date and time a resource was created.\n */\n created_at: string\n}\n\n/**\n * The subscription resource that is related.\n */\nexport type SubscriptionsSingleRelationship = {\n data?: RelationshipData\n links?: RelationshipLinks\n}\n\nexport type SubscriptionsErrorResponse = {\n errors: Array<SubscriptionsError>\n}\n\nexport type SubscriptionsError = {\n /**\n * The HTTP response code of the error.\n */\n status: string\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n /**\n * Additional supporting meta data for the error.\n */\n meta?: {\n [key: string]: unknown\n }\n}\n\n/**\n * The unique identifier.\n */\nexport type SubscriptionsUuid = string\n\nexport type StockType = \"stock\"\n\nexport type StockTransactionType = \"stock-transaction\"\n\nexport type MultipleProducts = {\n type?: \"stock\"\n /**\n * The unique identifier of the product.\n */\n id: string\n}\n\nexport type TransactionResponseAttributes = {\n /**\n * The type of action performed by this transaction.\n *\n * - **increment** - use this when you want to make products available for purchase, for example, when you have received stock from a supplier.\n *\n * - **decrement** - Use this when you want to remove stock from product inventory.\n *\n * - **allocate** - Use this when you want to allocate stock, normally to a reseller who sells on the stock.\n *\n * - **deallocate** - Use this when you want to deallocate any previously allocated stock.\n *\n */\n action: \"increment\" | \"decrement\" | \"allocate\" | \"deallocate\"\n product_id: InventoriesUuid\n /**\n * The amount of stock affected by the stock transaction.\n */\n quantity: BigInt\n /**\n * The slug of the location that the transaction should act on.\n */\n location?: string\n}\n\nexport type StockCreate = {\n id?: InventoriesUuid\n type: StockType\n attributes: StockCreateAttributes\n}\n\nexport type StockUpdateRequest = {\n id: InventoriesUuid\n type: StockType\n attributes: StockUpdateAttributes\n}\n\nexport type StockUpdateAttributes = {\n locations?: NullableLocations\n}\n\nexport type NullableLocation = {\n available: BigInt\n} | null\n\nexport type NullableLocations = {\n [key: string]: NullableLocation\n}\n\nexport type StockCreateAttributes = {\n available?: BigInt\n locations?: {\n [key: string]: {\n available: BigInt\n }\n }\n}\n\nexport type StockResponse = {\n id: InventoriesUuid\n type: StockType\n attributes: StockResponseAttributes\n meta: StockMeta\n}\n\nexport type StockResponseAttributes = {\n available: BigInt\n allocated: BigInt\n total: BigInt\n locations?: StockLocations\n}\n\nexport type StockLocations = {\n [key: string]: {\n available: BigInt\n allocated: BigInt\n total: BigInt\n }\n}\n\nexport type TransactionCreate = {\n type: StockTransactionType\n attributes: TransactionCreateAttributes\n}\n\nexport type TransactionCreateAttributes = {\n product_id?: InventoriesUuid\n /**\n * The type of action being performed by this transaction.\n *\n * - **increment** - use this when you want to make products available for purchase, for example, when you have received stock from a supplier.\n *\n * - **decrement** - Use this when you want to remove stock from product inventory.\n *\n * - **allocate** - Use this when you want to allocate stock, normally to a reseller who sells on the stock.\n *\n * - **deallocate** - Use this when you want to deallocate any previously allocated stock.\n *\n * - **set** - Use this when you want to set total stock to a specific value.\n *\n */\n action: \"increment\" | \"decrement\" | \"allocate\" | \"deallocate\" | \"set\"\n /**\n * The amount of stock affected by the stock transaction.\n */\n quantity: BigInt\n /**\n * The slug of the location that the transaction should act on.\n */\n location?: string\n}\n\nexport type Location = {\n id: InventoriesUuid\n type: InventoryLocationType\n attributes: LocationAttributes\n meta?: Meta\n}\n\nexport type LocationAttributes = {\n name: string\n external_ref?: string\n slug: string\n description?: string\n address?: Array<string>\n geolocation?: GeolocationDetails\n}\n\nexport type LocationUpdateAttributes = {\n name?: string\n external_ref?: string | null\n slug?: string\n description?: string | null\n address?: Array<string | null> | null\n geolocation?: GeolocationDetails\n}\n\n/**\n * The longitude and latitude of a location.\n */\nexport type GeolocationDetails = {\n lat: number\n lon: number\n} | null\n\nexport type LocationRequest = {\n type?: InventoryLocationType\n attributes: LocationAttributes\n}\n\nexport type LocationUpdateRequest = {\n id: InventoriesUuid\n type: InventoryLocationType\n attributes: LocationUpdateAttributes\n}\n\nexport type InventoryLocationType = \"inventory_location\"\n\nexport type StockMeta = {\n stock_id: InventoriesUuid\n timestamps: InventoriesTimestamps\n}\n\nexport type Meta = {\n timestamps: InventoriesTimestamps\n}\n\nexport type InventoriesTransactionResponse = {\n id: InventoriesUuid\n type: StockTransactionType\n attributes: TransactionResponseAttributes\n meta?: Meta\n}\n\n/**\n * The unique identifier.\n */\nexport type InventoriesUuid = string\n\nexport type InventoriesTimestamps = {\n /**\n * The date and time a resource was updated.\n */\n updated_at?: string\n /**\n * The date and time a resource was created.\n */\n created_at: string\n}\n\nexport type InventoriesErrorResponse = {\n errors: Array<InventoriesError>\n}\n\nexport type InventoriesError = {\n /**\n * The HTTP response code of the error.\n */\n status: string\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n /**\n * Additional supporting meta data for the error.\n */\n meta?: {\n [key: string]: unknown\n }\n}\n\nexport type AccessTokenRequest = {\n /**\n * The grant type, choices are `client_credentials` or `implicit`\n */\n grant_type: string\n /**\n * Your `client_id`\n */\n client_id: string\n /**\n * Your `client_secret`. Only required for client credentials.\n */\n client_secret?: string\n}\n\nexport type AccessTokenResponse = {\n /**\n * The access token you use to authenticate requests to the API.\n */\n access_token?: string\n /**\n * Right now this is only `Bearer`.\n */\n token_type?: string\n /**\n * The type of token requested. This can be a `client_credentials` or `implicit`.\n */\n identifier?: string\n /**\n * The duration in seconds after which the token expires.\n */\n expires_in?: number\n /**\n * The epoch time that this token expires at.\n */\n expires?: number\n}\n\nexport type ErrorResponse2 = {\n errors: Array<Error2>\n}\n\nexport type Error2 = {\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * The HTTP response code of the error.\n */\n status: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n}\n\nexport type Address = {\n /**\n * Specifies the the type of object. Set this value to `address`.\n */\n type?: string\n /**\n * The first name of the recipient on this address.\n */\n first_name?: string\n /**\n * The last name of the recipient on this address.\n */\n last_name?: string\n /**\n * The name for the address saved, such as `home`, `work` or `wife’s office`.\n */\n name?: string\n /**\n * A phone number for this address.\n */\n phone_number?: string\n /**\n * Any delivery instructions for this address.\n */\n instructions?: string\n /**\n * The company name at this address.\n */\n company_name?: string\n /**\n * The first portion of the address, usually the street address.\n */\n line_1?: string\n /**\n * The second portion of the address, usually an apartment or unit number.\n */\n line_2?: string\n /**\n * The city for this address.\n */\n city?: string\n /**\n * The county for this address.\n */\n county?: string\n /**\n * The state, province, territory, etc. for this address.\n */\n region?: string\n /**\n * The ZIP Code, Postcode, or other postal reference string for this delivery address.\n */\n postcode?: string\n /**\n * A two digit code for the country this address is in, expressed as per the ISO 3166-2 standard.\n */\n country?: string\n}\n\nexport type AddressResponse = Address & {\n /**\n * The unique identifier for an Address.\n */\n id?: string\n meta?: AccountAddressesMetaTimestamps\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n}\n\nexport type AccountAddressResponse = AddressResponse & {\n relationships?: {\n account?: {\n /**\n * The ID of the account.\n */\n id?: string\n /**\n * The type of object being returned.\n */\n type?: string\n }\n }\n}\n\n/**\n * Bad Request\n */\nexport type ErrorBadRequest = unknown\n\n/**\n * Not Found\n */\nexport type ErrorNotFound = unknown\n\nexport type AccountAddressesMetaTimestamps = {\n timestamps?: {\n /**\n * The date the address is created.\n */\n created_at?: string\n /**\n * The date the address is updated.\n */\n updated_at?: string\n }\n}\n\nexport type AccountAddressesError = {\n /**\n * The HTTP response code of the error.\n */\n status?: string\n /**\n * A brief summary of the error.\n */\n title?: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n}\n\nexport type AccountAddressesErrorResponse = {\n errors: Array<AccountAddressesError>\n}\n\n/**\n * The unique identifier.\n */\nexport type Uuid = string\n\nexport type MetaListPage = {\n /**\n * The maximum number of records per page for this response. You can set this value up to 100.\n */\n limit?: number\n /**\n * The current page.\n */\n current?: number\n /**\n * The current offset by number of records, not pages. Offset is zero-based.\n */\n offset?: number\n /**\n * The total page count.\n */\n total?: number\n}\n\nexport type MetaListResults = {\n /**\n * The total number of results after applying filters, if any, or all results.\n */\n total?: number\n}\n\n/**\n * The unique identifier for the Account Member that authenticated. This is useful if `account_member_self_management` is enabled in [Account Authentication Settings](/docs/api/accounts/get-v-2-settings-account-authentication), so that the user can update details for their account.\n */\nexport type MetaAccountMemberId = string\n\nexport type MetaList = {\n page?: MetaListPage\n results?: MetaListResults\n}\n\nexport type Account = {\n /**\n * Specifies the the type of object. Set this value to `account`.\n */\n type: string\n /**\n * Specifies the name of the account.\n */\n name: string\n /**\n * Specifies the legal name of the account.\n */\n legal_name?: string | null\n /**\n * Specifies the registration ID. If specified, this field is checked for uniqueness.\n */\n registration_id?: string | null\n /**\n * The unique attribute associated with the account. For example, this could be an external reference from a separate company system. The maximum length is 2048 characters. Default is `null`.\n */\n external_ref?: string\n}\n\nexport type ReadOnlyParentId = {\n /**\n * Specifies the ID of the parent account.\n */\n readonly parent_id?: string | null\n}\n\nexport type WritableParentId = {\n /**\n * Specifies the ID of the parent account, this field cannot be changed after creation.\n */\n parent_id?: string | null\n}\n\nexport type AccountResponse = Account &\n ReadOnlyParentId & {\n /**\n * The unique identifier for an Account.\n */\n id?: Uuid\n /**\n * Additional information for this realm. For more information, see [The meta object](https://elasticpath.dev/docs/commerce-cloud/accounts/using-account-management-api/account-management-api-overview#the-meta-object) section.\n */\n meta?: AccountManagementMetaTimestamps\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n }\n\n/**\n * Whether a user with an [Account Management Authentication Token](/docs/api/accounts/post-v-2-account-members-tokens) can update their own account member details. By default, this is `disabled`. Set to `update_only` if you want the user to be able to update their own account member details (e.g., name, email, and if applicable their username and password). The user can update their own account member details by updating their [User Authentication Info](/docs/authentication/single-sign-on/user-authentication-info-api/update-a-user-authentication-info) using the `account_member_id` retrieved from the `meta` in the response of [Generating an Account Management Authentication Token](/docs/api/accounts/post-v-2-account-members-tokens) as the `id` and find the authentication credentials to update by calling the [Get All User Authentication Password Profile Info](/docs/authentication/single-sign-on/user-authentication-password-profiles-api/get-all-user-authentication-password-profile-info) endpoint.\n */\nexport type AccountMemberSelfManagement = \"disabled\" | \"update_only\"\n\nexport type AccountAuthenticationSettings = {\n /**\n * Specifies the the type of object. Set this value to `account_authentication_settings`.\n */\n type?: string\n /**\n * Set to `true` to enable self signup.\n */\n enable_self_signup?: boolean\n /**\n * This will automatically create an account for each new account member, using the account member’s name as the account name.\n */\n auto_create_account_for_account_members?: boolean\n /**\n * Whether a user with an [Account Management Authentication Token](/docs/api/accounts/post-v-2-account-members-tokens) can update their own account member details. By default, this is `disabled`. Set to `update_only` if you want the user to be able to update their own account member details (e.g., name, email, and if applicable their username and password). The user can update their own account member details by updating their [User Authentication Info](/docs/authentication/single-sign-on/user-authentication-info-api/update-a-user-authentication-info) using the `account_member_id` retrieved from the `meta` in the response of [Generating an Account Management Authentication Token](/docs/api/accounts/post-v-2-account-members-tokens) as the `id` and find the authentication credentials to update by calling the [Get All User Authentication Password Profile Info](/docs/authentication/single-sign-on/user-authentication-password-profiles-api/get-all-user-authentication-password-profile-info) endpoint.\n */\n account_member_self_management?: \"disabled\" | \"update_only\"\n /**\n * The expiry time for Account Management Authentication Token in seconds. If you want to implement idle timout for you application, see [Implementing Idle Timeout](/guides/How-To/Accounts/implement-idle-timeout)\n */\n account_management_authentication_token_timeout_secs?: number\n}\n\nexport type AccountAuthenticationSettingsResponse =\n AccountAuthenticationSettings & {\n id?: Uuid\n relationships?: {\n authentication_realm?: {\n data?: {\n /**\n * The ID of the authentication realm entity.\n */\n id?: string\n /**\n * The type of the authentication realm entity.\n */\n type?: string\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n }\n }\n }\n meta?: {\n /**\n * The client ID to be used in Single Sign On authentication flows for accounts.\n */\n client_id?: string\n }\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n }\n\nexport type AccountMembershipSettings = {\n data?: {\n /**\n * Specifies the the type of object. Set this value to `account_membership_setting`.\n */\n type?: \"account_membership_setting\"\n /**\n * The number of accounts an account member can be associated with. You can set this value to any number up to 10,000.\n */\n membership_limit?: number\n }\n}\n\nexport type AccountMember = {\n /**\n * The unique identifier for the account member.\n */\n id?: string\n /**\n * The type of the object that is returned.\n */\n type?: string\n /**\n * The name of the account member.\n */\n name?: string\n /**\n * The email address of the account member.\n */\n email?: string\n}\n\nexport type AccountMemberResponse = AccountMember & {\n meta?: AccountManagementMetaTimestamps\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n}\n\nexport type AccountMembership = {\n /**\n * Specifies the unique identifier of the account member that the membership is associated with.\n */\n account_member_id?: string\n /**\n * Specifies the type of the object. Set this value to `account_membership`.\n */\n type?: string\n}\n\nexport type AccountMembershipResponse = {\n /**\n * Represents the unique identifier for the account membership.\n */\n id?: string\n /**\n * Represents the type of the object returned.\n */\n type?: string\n meta?: AccountManagementMetaTimestamps\n relationships?: {\n account_member?: {\n data?: {\n /**\n * Specifies the ID of the account member.\n */\n id?: string\n /**\n * Specifies the type of the account member.\n */\n type?: string\n }\n }\n }\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n}\n\nexport type AccountMembershipResponseUsingAccountMemberId = {\n /**\n * Represents the unique identifier for the account membership.\n */\n id?: string\n /**\n * Represents the type of the object returned.\n */\n type?: string\n meta?: AccountManagementMetaTimestamps\n relationships?: {\n account?: {\n data?: {\n /**\n * Specifies the ID of the account.\n */\n id?: string\n /**\n * Specifies the type of the Account.\n */\n type?: string\n }\n }\n }\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n}\n\nexport type AccountManagementAuthenticationToken = {\n /**\n * Specifies the type of the object. You must use `account_management_authentication_token`.\n */\n type?: string\n}\n\nexport type OpenIdConnectRequest = AccountManagementAuthenticationToken & {\n /**\n * Species the authentication mechanism. You must use `oidc`.\n */\n authentication_mechanism: string\n /**\n * Specifies the code returned from the OpenID Connect Provider authentication.\n */\n oauth_authorization_code: string\n /**\n * Specifies the URL of the front-end that handles the callback of the token.\n */\n oauth_redirect_uri: string\n /**\n * Specifies the Proof Key for Code Exchange (PKCE) code verifier corresponding to the code challenge supplied to the authorization endpoint. For more information about code verifier and challenge, see Generating a [Code Verifier and Challenge](https://elasticpath.dev/docs/commerce-cloud/authentication/single-sign-on/get-single-sign-on-customer-token#generate-proof-key-for-code-exchange-pkce-parameters).\n */\n oauth_code_verifier: string\n}\n\nexport type PasswordRequest = AccountManagementAuthenticationToken & {\n /**\n * Species the authentication mechanism. You must use `password`.\n */\n authentication_mechanism: string\n /**\n * The password profile ID. For more information, see [password profiles page](https://elasticpath.dev/docs/commerce-cloud/authentication/single-sign-on/password-profiles-api/overview).\n */\n password_profile_id: string\n /**\n * The username.\n */\n username: string\n /**\n * The password.\n */\n password: string\n}\n\nexport type SelfSignupRequest = AccountManagementAuthenticationToken & {\n /**\n * Species the authentication mechanism. You must use `self_signup`.\n */\n authentication_mechanism: string\n /**\n * The password profile ID. For more information, see [password profiles page](https://elasticpath.dev/docs/commerce-cloud/authentication/single-sign-on/password-profiles-api/overview).\n */\n password_profile_id: string\n /**\n * The username.\n */\n username: string\n /**\n * The password.\n */\n password: string\n /**\n * The name.\n */\n name: string\n /**\n * The email.\n */\n email: string\n}\n\nexport type PasswordlessRequest = AccountManagementAuthenticationToken & {\n /**\n * Species the authentication mechanism. You must use `passwordless`.\n */\n authentication_mechanism: string\n /**\n * The password profile ID. For more information, see [password profiles page](https://elasticpath.dev/docs/commerce-cloud/authentication/single-sign-on/password-profiles-api/overview).\n */\n password_profile_id: string\n /**\n * The username.\n */\n username: string\n /**\n * The one-time password token.\n */\n one_time_password_token: string\n}\n\nexport type SwitchingAccountRequest = AccountManagementAuthenticationToken & {\n /**\n * Species the authentication mechanism. You must use `account_management_authentication_token`.\n */\n authentication_mechanism: string\n}\n\nexport type AccountManagementAuthenticationTokenResponse = {\n /**\n * Specifies the type of the object.\n */\n type?: string\n /**\n * The name of the account that this token grants access to.\n */\n account_name?: string\n /**\n * The ID of the account that this token grants access to.\n */\n account_id?: string\n /**\n * The JWT authentication token that the shopper uses as the `EP-Account-Management-Authentication-Token` header [in all other endpoints](https://elasticpath.dev/docs/commerce-cloud/authentication/tokens/account-management-authentication-token).\n */\n token?: string\n /**\n * The epoch time that this token expires at. The time is set to 24 hours after the token is generated.\n */\n expires?: Date\n}\n\nexport type AccountManagementMetaTimestamps = {\n timestamps?: {\n /**\n * The date the account is created.\n */\n created_at?: string\n /**\n * The date the account is updated.\n */\n updated_at?: string\n }\n}\n\nexport type AccountManagementError = {\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * The HTTP response code of the error.\n */\n status: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n}\n\nexport type AccountManagementErrorResponse = {\n errors: Array<AccountManagementError>\n}\n\nexport type AuthenticationRealm = {\n id: string\n name: string\n type: \"authentication_realm\"\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n}\n\nexport type AuthenticationRealmResponse = {\n data: AuthenticationRealm\n links?: {\n self?: string\n }\n}\n\nexport type AuthenticationRealmListResponse = {\n data: Array<AuthenticationRealm>\n links?: {\n self?: string\n }\n}\n\nexport type AuthenticationRealmUpdateRequest = {\n data: {\n name: string\n }\n}\n\nexport type OidcProfile = {\n id: string\n type: \"openid_connect_profile\"\n client_id: string\n client_secret?: string\n redirect_uris: Array<string>\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n}\n\nexport type OidcProfileResponse = {\n data: OidcProfile\n links?: {\n self?: string\n }\n}\n\nexport type OidcProfileListResponse = {\n data: Array<OidcProfile>\n links?: {\n self?: string\n }\n}\n\nexport type OidcProfileCreateRequestWrapper = {\n data: {\n type: \"openid_connect_profile\"\n client_id: string\n client_secret?: string\n redirect_uris: Array<string>\n }\n}\n\nexport type OidcProfileUpdateRequestWrapper = {\n data: {\n id: string\n type: \"openid_connect_profile\"\n client_id: string\n client_secret?: string\n redirect_uris: Array<string>\n }\n}\n\nexport type PasswordProfile = {\n id: string\n type: \"password_profile\"\n name: string\n description?: string\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n}\n\nexport type PasswordProfileResponse = {\n data: PasswordProfile\n links?: {\n self?: string\n }\n}\n\nexport type PasswordProfileListResponse = {\n data: Array<PasswordProfile>\n links?: {\n self?: string\n }\n}\n\nexport type PasswordProfileCreateRequestWrapper = {\n data: {\n type: \"password_profile\"\n name: string\n description?: string\n }\n}\n\nexport type PasswordProfileUpdateRequestWrapper = {\n data: {\n id: string\n type: \"password_profile\"\n name: string\n description?: string\n }\n}\n\nexport type Purpose = \"reset_password\" | \"passwordless_authentication\"\n\nexport type OneTimePasswordTokenRequest = {\n type: \"one_time_password_token_request\"\n username: string\n purpose: \"reset_password\" | \"passwordless_authentication\"\n}\n\nexport type UserAuthenticationInfo = {\n id: string\n type: \"user_authentication_info\"\n username: string\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n}\n\nexport type UserAuthenticationInfoResponse = {\n data: UserAuthenticationInfo\n links?: {\n self?: string\n }\n}\n\nexport type UserAuthenticationInfoListResponse = {\n data: Array<UserAuthenticationInfo>\n links?: {\n self?: string\n }\n}\n\nexport type UserAuthenticationInfoCreateRequestWrapper = {\n data: {\n type: \"user_authentication_info\"\n username: string\n }\n}\n\nexport type UserAuthenticationInfoUpdateRequestWrapper = {\n data: {\n id: string\n type: \"user_authentication_info\"\n username: string\n }\n}\n\nexport type UserAuthenticationOidcProfileInfo = {\n id: string\n type: \"user_authentication_oidc_profile_info\"\n username: string\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n}\n\nexport type UserAuthenticationOidcProfileInfoResponse = {\n data: UserAuthenticationOidcProfileInfo\n links?: {\n self?: string\n }\n}\n\nexport type UserAuthenticationOidcProfileInfoListResponse = {\n data: Array<UserAuthenticationOidcProfileInfo>\n links?: {\n self?: string\n }\n}\n\nexport type UserAuthenticationOidcProfileInfoCreateRequestWrapper = {\n data: {\n type: \"user_authentication_oidc_profile_info\"\n username: string\n }\n}\n\nexport type UserAuthenticationOidcProfileInfoUpdateRequestWrapper = {\n data: {\n id: string\n type: \"user_authentication_oidc_profile_info\"\n username: string\n }\n}\n\nexport type PasswordProfileInfo = {\n /**\n * Unique identifier of the password profile info.\n */\n id: string\n username: string\n /**\n * Timestamps for creation and last update.\n */\n meta: {\n created_at?: Date\n updated_at?: Date\n }\n type: \"user_authentication_password_profile_info\"\n /**\n * Identifier for the associated password profile.\n */\n password_profile_id: string\n}\n\nexport type PasswordProfileInfoResponse = {\n data: PasswordProfileInfo\n links?: {\n self?: string\n }\n}\n\nexport type PasswordProfileInfoListResponse = {\n data: Array<PasswordProfileInfo>\n links?: {\n self?: string\n }\n}\n\nexport type PasswordProfileInfoCreateRequestWrapper = {\n data: PasswordProfileInfoCreateRequest\n}\n\nexport type PasswordProfileInfoCreateRequest = {\n type: \"user_authentication_password_profile_info\"\n username: string\n password: string\n password_profile_id: string\n}\n\nexport type PasswordProfileInfoUpdateRequestWrapper = {\n data: PasswordProfileInfoUpdateRequest\n}\n\nexport type PasswordProfileInfoUpdateRequest = {\n id: string\n type: \"user_authentication_password_profile_info\"\n username: string\n password: string\n}\n\nexport type DataCreateCurrencies = {\n /**\n * Specifies the currency code. Example YEN.\n */\n code: string\n /**\n * Indicates how many decimal places the currency is formatted to.\n */\n decimal_places: number\n /**\n * Indicates the decimal point character.\n */\n decimal_point: string\n /**\n * Specifies whether this is the default currency or not. Either `true` or `false`.\n */\n default: boolean\n /**\n * Specifies if this currency is available for products. Either `true` or `false`.\n */\n enabled: boolean\n /**\n * Specifies the exchange rate from the default currency.\n */\n exchange_rate: number\n /**\n * Specifies how the price currency is displayed. For example, \"¥{price}\".\n */\n format: string\n /**\n * Indicates the thousand separator character.\n */\n thousand_separator: string\n /**\n * Represents the type represents the object being returned.\n */\n type: string\n}\n\nexport type RequestCreateCurrencies = {\n data?: DataCreateCurrencies\n}\n\nexport type DataUpdateCurrencies = {\n /**\n * Specifies whether this is the default currency or not. Either `true` or `false`.\n */\n default?: boolean\n}\n\nexport type RequestUpdateCurrencies = {\n data?: DataUpdateCurrencies\n}\n\nexport type ResponseCurrency = {\n /**\n * The unique identifier for this currency.\n */\n id?: string\n /**\n * Represents the type represents the object being returned.\n */\n type?: string\n /**\n * Specifies the currency code. For example, YEN.\n */\n code?: string\n /**\n * Specifies the exchange rate from the default currency.\n */\n exchange_rate?: number\n /**\n * Specifies how the price currency is displayed. For example, \"£{price}\".\n */\n format?: string\n /**\n * Indicates the decimal point character.\n */\n decimal_point?: string\n /**\n * Indicates the thousand separator character.\n */\n thousand_separator?: string\n /**\n * Indicates how many decimal places the currency is formatted to.\n */\n decimal_places?: number\n /**\n * Specifies whether this is the default currency or not. Either `true` or `false`.\n */\n default?: boolean\n /**\n * Specifies if this currency is available for products. Either `true` or `false`.\n */\n enabled?: boolean\n links?: SelfLink2\n meta?: ResponseMetaCurrency\n}\n\nexport type ResponseMetaCurrency = {\n timestamps?: Timestamps\n /**\n * Indicates whether the owner is store or org.\n */\n owner?: string\n}\n\nexport type Timestamps = {\n /**\n * Indicates the creation date of this currency.\n */\n created_at?: string\n /**\n * Indicates the updated date of this currency.\n */\n updated_at?: unknown\n}\n\nexport type SelfLink2 = {\n /**\n * Specifies the URL of this currency.\n */\n self?: string\n}\n\nexport type ResponseError = Array<unknown>\n\nexport type File = {\n /**\n * The unique identifier for this file.\n */\n id?: FilesUuid\n /**\n * The type represents the object being returned.\n */\n type?: string\n /**\n * The name of the file.\n */\n file_name?: string\n /**\n * The mime type of the file.\n */\n mime_type?: string\n /**\n * The size of the file. Required when uploading files.\n */\n file_size?: number\n /**\n * DEPRECATED Whether the file public or not. Required when uploading files.\n */\n public?: boolean\n meta?: FileMeta\n links?: FilesLinks\n link?: FileLink\n}\n\nexport type FileMeta = {\n /**\n * The date and time the file was created.\n */\n timestamps?: {\n /**\n * The date and time the file was created.\n */\n created_at?: string\n }\n /**\n * The file dimensions.\n */\n dimensions?: {\n /**\n * The width of the file.\n */\n width?: number\n /**\n * The height of the file.\n */\n height?: number\n }\n}\n\nexport type ResultsMeta = {\n /**\n * Contains the results for the entire collection.\n */\n page?: {\n /**\n * The maximum number of records for all pages.\n */\n limit?: number\n /**\n * The current offset by number of pages.\n */\n offset?: number\n /**\n * The current number of pages.\n */\n current?: number\n /**\n * The total number of records for the entire collection.\n */\n total?: number\n }\n /**\n * Contains the results for the entire collection.\n */\n results?: {\n /**\n * The total number of records for the entire collection.\n */\n total?: number\n }\n}\n\n/**\n * Links are used to allow you to move between requests.\n */\nexport type ResultsLinks = {\n /**\n * Single entities use a self parameter with a link to that specific resource.\n */\n self?: string | null\n /**\n * Always the first page.\n */\n first?: string | null\n /**\n * This is `null` if there is only one page.\n */\n last?: string | null\n}\n\n/**\n * The publicly available URL for this file.\n */\nexport type FileLink = {\n /**\n * The publicly available URL for this file.\n */\n href?: string\n}\n\nexport type FilesErrorResponse = {\n errors: Array<FilesError>\n}\n\n/**\n * Links are used to allow you to move between requests.\n */\nexport type FilesLinks = {\n /**\n * Single entities use a self parameter with a link to that specific resource.\n */\n self?: string\n}\n\nexport type FilesUuid = string\n\nexport type FilesError = {\n /**\n * The HTTP response code of the error.\n */\n status: number\n /**\n * A brief summary of the error.\n */\n title: string\n /**\n * Optional additional detail about the error.\n */\n detail?: string\n /**\n * Internal request ID.\n */\n request_id?: string\n /**\n * Additional supporting meta data for the error.\n */\n meta?: {\n [key: string]: unknown\n }\n}\n\n/**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\nexport type AcceptLanguage = string\n\n/**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\nexport type Channel = string\n\n/**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\nexport type FilterCatalog = string\n\n/**\n * This endpoints supports filtering. See [Filtering](#filtering).\n *\n */\nexport type FilterHierarchy = string\n\n/**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\nexport type FilterNode = string\n\n/**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\nexport type FilterProduct = string\n\n/**\n * This endpoint supports filtering. See [Filtering](#filtering).\n *\n */\nexport type FilterRule = string\n\n/**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\nexport type Include = Array<\"files\" | \"main_image\" | \"component_products\">\n\n/**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\nexport type Limit = BigInt\n\n/**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\nexport type Offset = BigInt\n\n/**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\nexport type PricebookIdsForPriceSegmentationPreview = Array<string>\n\n/**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\nexport type Tag = string\n\nexport type CartInclude = Array<\n \"items\" | \"tax_items\" | \"custom_discounts\" | \"promotions\"\n>\n\n/**\n * For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint documentation to understand the attributes and operators an endpoint supports.\n *\n */\nexport type CartCheckoutFilter = string\n\nexport type OrdersInclude = Array<\"items\">\n\nexport type OrderInclude = Array<\"items\">\n\n/**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\nexport type CartCheckoutLimit = number\n\n/**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\nexport type CartCheckoutOffset = number\n\n/**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\nexport type OfferingInclude = Array<\"plans\" | \"pricing_options\" | \"features\">\n\n/**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\nexport type SubscriptionInclude = Array<\"plans\" | \"pricing_options\">\n\n/**\n * Some Subscriptions API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\nexport type SubscriptionsFilter = string\n\n/**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type SubscriptionsPageLimit = BigInt\n\n/**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type SubscriptionsPageOffset = BigInt\n\n/**\n * Some Inventories API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\nexport type InventoriesFilter = string\n\n/**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the the [**page length**](https://elasticpath.dev/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type InventoriesPageLimit = number\n\n/**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [**page length**](https://elasticpath.dev/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type InventoriesPageOffset = number\n\n/**\n * Specifies the filter attributes.\n */\nexport type Filter = string\n\n/**\n * The number of records per page.\n */\nexport type PageLimit = BigInt\n\n/**\n * The number of records to offset the results by.\n */\nexport type PageOffset = BigInt\n\n/**\n * Parameter to retrieve more information about any related resources like account members.\n */\nexport type IncludeAccountMember = string\n\n/**\n * Parameter to retrieve more information about any related resources like accounts.\n */\nexport type IncludeAccount = string\n\n/**\n * Supported attributes are `created_at`, `email`, `id`, `name`, or `updated_at`. When specified, the results are sorted in ascending order based on the value of the field. To sort in descending order, prefix the attribute with `-`, for example, `-updated_at`. The default sort order is `created_at` in descending order. For more information, see [Sorting](/guides/Getting-Started/sorting).\n */\nexport type Sort = string\n\n/**\n *\n * Filtering is available for this endpoint. See [Filtering](/docs/api/pxm/files/get-all-files#filtering).\n *\n */\nexport type Filesfilter = string\n\n/**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [**page length**](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type FilespageOffset = string\n\n/**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the the [**page length**](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\nexport type FilespageLimit = string\n\n/**\n * The bundle configuration.\n */\nexport type BundleConfigurationData2 = BundleConfigurationData\n\n/**\n * A list of product id or sku and bundle configuration for cart.\n */\nexport type ProductsForCartConfiguration2 = ProductsForCartConfiguration\n\nexport type GetByContextReleaseData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path?: never\n query?: never\n url: \"/catalog\"\n}\n\nexport type GetByContextReleaseErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextReleaseError =\n GetByContextReleaseErrors[keyof GetByContextReleaseErrors]\n\nexport type GetByContextReleaseResponses = {\n /**\n * The catalog.\n */\n 200: ReleaseData\n}\n\nexport type GetByContextReleaseResponse =\n GetByContextReleaseResponses[keyof GetByContextReleaseResponses]\n\nexport type GetByContextAllHierarchiesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path?: never\n query?: {\n /**\n * This endpoints supports filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/hierarchies\"\n}\n\nexport type GetByContextAllHierarchiesErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextAllHierarchiesError =\n GetByContextAllHierarchiesErrors[keyof GetByContextAllHierarchiesErrors]\n\nexport type GetByContextAllHierarchiesResponses = {\n /**\n * The hierarchies of the catalog.\n */\n 200: HierarchyListData\n}\n\nexport type GetByContextAllHierarchiesResponse =\n GetByContextAllHierarchiesResponses[keyof GetByContextAllHierarchiesResponses]\n\nexport type GetByContextHierarchyData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: never\n url: \"/catalog/hierarchies/{hierarchy_id}\"\n}\n\nexport type GetByContextHierarchyErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextHierarchyError =\n GetByContextHierarchyErrors[keyof GetByContextHierarchyErrors]\n\nexport type GetByContextHierarchyResponses = {\n /**\n * The catalog hierarchy.\n */\n 200: HierarchyData\n}\n\nexport type GetByContextHierarchyResponse =\n GetByContextHierarchyResponses[keyof GetByContextHierarchyResponses]\n\nexport type GetByContextHierarchyNodesData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/hierarchies/{hierarchy_id}/nodes\"\n}\n\nexport type GetByContextHierarchyNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextHierarchyNodesError =\n GetByContextHierarchyNodesErrors[keyof GetByContextHierarchyNodesErrors]\n\nexport type GetByContextHierarchyNodesResponses = {\n /**\n * The child nodes of a catalog hierarchy.\n */\n 200: NodeListData\n}\n\nexport type GetByContextHierarchyNodesResponse =\n GetByContextHierarchyNodesResponses[keyof GetByContextHierarchyNodesResponses]\n\nexport type GetByContextHierarchyChildNodesData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/hierarchies/{hierarchy_id}/children\"\n}\n\nexport type GetByContextHierarchyChildNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextHierarchyChildNodesError =\n GetByContextHierarchyChildNodesErrors[keyof GetByContextHierarchyChildNodesErrors]\n\nexport type GetByContextHierarchyChildNodesResponses = {\n /**\n * The child nodes of a catalog hierarchy.\n */\n 200: NodeListData\n}\n\nexport type GetByContextHierarchyChildNodesResponse =\n GetByContextHierarchyChildNodesResponses[keyof GetByContextHierarchyChildNodesResponses]\n\nexport type GetByContextAllNodesData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path?: never\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/nodes\"\n}\n\nexport type GetByContextAllNodesErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextAllNodesError =\n GetByContextAllNodesErrors[keyof GetByContextAllNodesErrors]\n\nexport type GetByContextAllNodesResponses = {\n /**\n * The nodes of the catalog.\n */\n 200: NodeListData\n}\n\nexport type GetByContextAllNodesResponse =\n GetByContextAllNodesResponses[keyof GetByContextAllNodesResponses]\n\nexport type GetByContextNodeData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: never\n url: \"/catalog/nodes/{node_id}\"\n}\n\nexport type GetByContextNodeErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextNodeError =\n GetByContextNodeErrors[keyof GetByContextNodeErrors]\n\nexport type GetByContextNodeResponses = {\n /**\n * The catalog node.\n */\n 200: NodeData\n}\n\nexport type GetByContextNodeResponse =\n GetByContextNodeResponses[keyof GetByContextNodeResponses]\n\nexport type GetByContextChildNodesData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/nodes/{node_id}/relationships/children\"\n}\n\nexport type GetByContextChildNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextChildNodesError =\n GetByContextChildNodesErrors[keyof GetByContextChildNodesErrors]\n\nexport type GetByContextChildNodesResponses = {\n /**\n * The child nodes of a catalog node.\n */\n 200: NodeListData\n}\n\nexport type GetByContextChildNodesResponse =\n GetByContextChildNodesResponses[keyof GetByContextChildNodesResponses]\n\nexport type GetByContextAllProductsData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path?: never\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/products\"\n}\n\nexport type GetByContextAllProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextAllProductsError =\n GetByContextAllProductsErrors[keyof GetByContextAllProductsErrors]\n\nexport type GetByContextAllProductsResponses = {\n /**\n * The products of a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetByContextAllProductsResponse =\n GetByContextAllProductsResponses[keyof GetByContextAllProductsResponses]\n\nexport type GetByContextProductData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n }\n url: \"/catalog/products/{product_id}\"\n}\n\nexport type GetByContextProductErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextProductError =\n GetByContextProductErrors[keyof GetByContextProductErrors]\n\nexport type GetByContextProductResponses = {\n /**\n * The product of a catalog.\n */\n 200: ProductData\n}\n\nexport type GetByContextProductResponse =\n GetByContextProductResponses[keyof GetByContextProductResponses]\n\nexport type GetByContextAllRelatedProductsData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The product ID.\n */\n product_id: string\n /**\n * The custom relationship slug.\n */\n custom_relationship_slug: string\n }\n query?: {\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/products/{product_id}/relationships/{custom_relationship_slug}/products\"\n}\n\nexport type GetByContextAllRelatedProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextAllRelatedProductsError =\n GetByContextAllRelatedProductsErrors[keyof GetByContextAllRelatedProductsErrors]\n\nexport type GetByContextAllRelatedProductsResponses = {\n /**\n * The related products of a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetByContextAllRelatedProductsResponse =\n GetByContextAllRelatedProductsResponses[keyof GetByContextAllRelatedProductsResponses]\n\nexport type GetByContextComponentProductIdsData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/products/{product_id}/relationships/component_products\"\n}\n\nexport type GetByContextComponentProductIdsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextComponentProductIdsError =\n GetByContextComponentProductIdsErrors[keyof GetByContextComponentProductIdsErrors]\n\nexport type GetByContextComponentProductIdsResponses = {\n /**\n * The list of component product IDs of a bundle product from a catalog.\n */\n 200: ProductReferenceListData\n}\n\nexport type GetByContextComponentProductIdsResponse =\n GetByContextComponentProductIdsResponses[keyof GetByContextComponentProductIdsResponses]\n\nexport type GetByContextChildProductsData = {\n body?: never\n headers?: {\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/products/{product_id}/relationships/children\"\n}\n\nexport type GetByContextChildProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextChildProductsError =\n GetByContextChildProductsErrors[keyof GetByContextChildProductsErrors]\n\nexport type GetByContextChildProductsResponses = {\n /**\n * The list of child products of a parent product from a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetByContextChildProductsResponse =\n GetByContextChildProductsResponses[keyof GetByContextChildProductsResponses]\n\nexport type GetByContextProductsForHierarchyData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/hierarchies/{hierarchy_id}/products\"\n}\n\nexport type GetByContextProductsForHierarchyErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextProductsForHierarchyError =\n GetByContextProductsForHierarchyErrors[keyof GetByContextProductsForHierarchyErrors]\n\nexport type GetByContextProductsForHierarchyResponses = {\n /**\n * The products of a catalog hierarchy.\n */\n 200: ProductListData\n}\n\nexport type GetByContextProductsForHierarchyResponse =\n GetByContextProductsForHierarchyResponses[keyof GetByContextProductsForHierarchyResponses]\n\nexport type GetByContextProductsForNodeData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalog/nodes/{node_id}/relationships/products\"\n}\n\nexport type GetByContextProductsForNodeErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetByContextProductsForNodeError =\n GetByContextProductsForNodeErrors[keyof GetByContextProductsForNodeErrors]\n\nexport type GetByContextProductsForNodeResponses = {\n /**\n * The products of a catalog node.\n */\n 200: ProductListData\n}\n\nexport type GetByContextProductsForNodeResponse =\n GetByContextProductsForNodeResponses[keyof GetByContextProductsForNodeResponses]\n\nexport type ConfigureByContextProductData = {\n /**\n * The bundle configuration.\n */\n body: BundleConfigurationData2\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the `EP-Channel` header in your requests.\n */\n \"EP-Channel\"?: string\n /**\n * Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the `EP-Context-Tag` header.\n */\n \"EP-Context-Tag\"?: string\n }\n path: {\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n }\n url: \"/catalog/products/{product_id}/configure\"\n}\n\nexport type ConfigureByContextProductErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type ConfigureByContextProductError =\n ConfigureByContextProductErrors[keyof ConfigureByContextProductErrors]\n\nexport type ConfigureByContextProductResponses = {\n /**\n * The configured product of a catalog.\n */\n 200: ProductData\n}\n\nexport type ConfigureByContextProductResponse =\n ConfigureByContextProductResponses[keyof ConfigureByContextProductResponses]\n\nexport type GetCatalogsData = {\n body?: never\n path?: never\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs\"\n}\n\nexport type GetCatalogsErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetCatalogsError = GetCatalogsErrors[keyof GetCatalogsErrors]\n\nexport type GetCatalogsResponses = {\n /**\n * The list of catalogs.\n */\n 200: CatalogListData\n}\n\nexport type GetCatalogsResponse =\n GetCatalogsResponses[keyof GetCatalogsResponses]\n\nexport type CreateCatalogData = {\n /**\n * Creates a catalog with the following attributes.\n */\n body: CatalogCreateData\n path?: never\n query?: never\n url: \"/catalogs\"\n}\n\nexport type CreateCatalogErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type CreateCatalogError = CreateCatalogErrors[keyof CreateCatalogErrors]\n\nexport type CreateCatalogResponses = {\n /**\n * The created catalog\n */\n 201: CatalogData\n}\n\nexport type CreateCatalogResponse =\n CreateCatalogResponses[keyof CreateCatalogResponses]\n\nexport type DeleteCatalogByIdData = {\n body?: never\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}\"\n}\n\nexport type DeleteCatalogByIdErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type DeleteCatalogByIdError =\n DeleteCatalogByIdErrors[keyof DeleteCatalogByIdErrors]\n\nexport type DeleteCatalogByIdResponses = {\n /**\n * A 204 response indicates that the catalog has been deleted.\n */\n 204: void\n}\n\nexport type DeleteCatalogByIdResponse =\n DeleteCatalogByIdResponses[keyof DeleteCatalogByIdResponses]\n\nexport type GetCatalogByIdData = {\n body?: never\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}\"\n}\n\nexport type GetCatalogByIdErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetCatalogByIdError =\n GetCatalogByIdErrors[keyof GetCatalogByIdErrors]\n\nexport type GetCatalogByIdResponses = {\n /**\n * The catalog.\n */\n 200: CatalogData\n}\n\nexport type GetCatalogByIdResponse =\n GetCatalogByIdResponses[keyof GetCatalogByIdResponses]\n\nexport type UpdateCatalogData = {\n /**\n * Updated catalog.\n */\n body: CatalogUpdateData\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}\"\n}\n\nexport type UpdateCatalogErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type UpdateCatalogError = UpdateCatalogErrors[keyof UpdateCatalogErrors]\n\nexport type UpdateCatalogResponses = {\n /**\n * An updated catalog with the following attributes.\n */\n 200: CatalogData\n}\n\nexport type UpdateCatalogResponse =\n UpdateCatalogResponses[keyof UpdateCatalogResponses]\n\nexport type DeleteReleasesData = {\n body?: never\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases\"\n}\n\nexport type DeleteReleasesErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type DeleteReleasesError =\n DeleteReleasesErrors[keyof DeleteReleasesErrors]\n\nexport type DeleteReleasesResponses = {\n /**\n * A 204 response indicates that the releases have been deleted.\n */\n 204: void\n}\n\nexport type DeleteReleasesResponse =\n DeleteReleasesResponses[keyof DeleteReleasesResponses]\n\nexport type GetReleasesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases\"\n}\n\nexport type GetReleasesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetReleasesError = GetReleasesErrors[keyof GetReleasesErrors]\n\nexport type GetReleasesResponses = {\n /**\n * The list of catalogs.\n */\n 200: ReleaseListData\n}\n\nexport type GetReleasesResponse =\n GetReleasesResponses[keyof GetReleasesResponses]\n\nexport type PublishReleaseData = {\n /**\n * Options for catalog release publishing\n */\n body?: CatalogReleaseCreateData\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases\"\n}\n\nexport type PublishReleaseErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type PublishReleaseError =\n PublishReleaseErrors[keyof PublishReleaseErrors]\n\nexport type PublishReleaseResponses = {\n /**\n * Publishes a catalog release with the following attributes.\n */\n 201: ReleaseData\n}\n\nexport type PublishReleaseResponse =\n PublishReleaseResponses[keyof PublishReleaseResponses]\n\nexport type DeleteReleaseByIdData = {\n body?: never\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases/{release_id}\"\n}\n\nexport type DeleteReleaseByIdErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type DeleteReleaseByIdError =\n DeleteReleaseByIdErrors[keyof DeleteReleaseByIdErrors]\n\nexport type DeleteReleaseByIdResponses = {\n /**\n * A 204 response indicates that the release has been deleted.\n */\n 204: void\n}\n\nexport type DeleteReleaseByIdResponse =\n DeleteReleaseByIdResponses[keyof DeleteReleaseByIdResponses]\n\nexport type GetReleaseByIdData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases/{release_id}\"\n}\n\nexport type GetReleaseByIdErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetReleaseByIdError =\n GetReleaseByIdErrors[keyof GetReleaseByIdErrors]\n\nexport type GetReleaseByIdResponses = {\n /**\n * The catalog.\n */\n 200: ReleaseData\n}\n\nexport type GetReleaseByIdResponse =\n GetReleaseByIdResponses[keyof GetReleaseByIdResponses]\n\nexport type GetRulesData = {\n body?: never\n path?: never\n query?: {\n /**\n * This endpoint supports filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/rules\"\n}\n\nexport type GetRulesErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetRulesError = GetRulesErrors[keyof GetRulesErrors]\n\nexport type GetRulesResponses = {\n /**\n * The list of catalog rules.\n */\n 200: RuleListData\n}\n\nexport type GetRulesResponse = GetRulesResponses[keyof GetRulesResponses]\n\nexport type CreateRuleData = {\n /**\n * Creates a catalog rule with the following attributes.\n */\n body: RuleCreateData\n path?: never\n query?: never\n url: \"/catalogs/rules\"\n}\n\nexport type CreateRuleErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type CreateRuleError = CreateRuleErrors[keyof CreateRuleErrors]\n\nexport type CreateRuleResponses = {\n /**\n * The created catalog rule\n */\n 201: RuleData\n}\n\nexport type CreateRuleResponse = CreateRuleResponses[keyof CreateRuleResponses]\n\nexport type DeleteRuleByIdData = {\n body?: never\n path: {\n /**\n * The catalog rule ID.\n */\n catalog_rule_id: string\n }\n query?: never\n url: \"/catalogs/rules/{catalog_rule_id}\"\n}\n\nexport type DeleteRuleByIdErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type DeleteRuleByIdError =\n DeleteRuleByIdErrors[keyof DeleteRuleByIdErrors]\n\nexport type DeleteRuleByIdResponses = {\n /**\n * A 204 response indicates that the catalog rule has been deleted.\n */\n 204: void\n}\n\nexport type DeleteRuleByIdResponse =\n DeleteRuleByIdResponses[keyof DeleteRuleByIdResponses]\n\nexport type GetRuleByIdData = {\n body?: never\n path: {\n /**\n * The catalog rule ID.\n */\n catalog_rule_id: string\n }\n query?: never\n url: \"/catalogs/rules/{catalog_rule_id}\"\n}\n\nexport type GetRuleByIdErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetRuleByIdError = GetRuleByIdErrors[keyof GetRuleByIdErrors]\n\nexport type GetRuleByIdResponses = {\n /**\n * The catalog rile.\n */\n 200: RuleData\n}\n\nexport type GetRuleByIdResponse =\n GetRuleByIdResponses[keyof GetRuleByIdResponses]\n\nexport type UpdateRuleData = {\n /**\n * An updated catalog rule with the following attributes.\n */\n body: RuleUpdateData\n path: {\n /**\n * The catalog rule ID.\n */\n catalog_rule_id: string\n }\n query?: never\n url: \"/catalogs/rules/{catalog_rule_id}\"\n}\n\nexport type UpdateRuleErrors = {\n /**\n * Unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type UpdateRuleError = UpdateRuleErrors[keyof UpdateRuleErrors]\n\nexport type UpdateRuleResponses = {\n /**\n * An Updated catalog rule with the following attributes.\n */\n 200: RuleData\n}\n\nexport type UpdateRuleResponse = UpdateRuleResponses[keyof UpdateRuleResponses]\n\nexport type GetAllHierarchiesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n }\n query?: {\n /**\n * This endpoints supports filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/hierarchies\"\n}\n\nexport type GetAllHierarchiesErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetAllHierarchiesError =\n GetAllHierarchiesErrors[keyof GetAllHierarchiesErrors]\n\nexport type GetAllHierarchiesResponses = {\n /**\n * The hierarchies of a catalog.\n */\n 200: HierarchyListData\n}\n\nexport type GetAllHierarchiesResponse =\n GetAllHierarchiesResponses[keyof GetAllHierarchiesResponses]\n\nexport type GetHierarchyData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases/{release_id}/hierarchies/{hierarchy_id}\"\n}\n\nexport type GetHierarchyErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetHierarchyError = GetHierarchyErrors[keyof GetHierarchyErrors]\n\nexport type GetHierarchyResponses = {\n /**\n * The catalog hierarchy.\n */\n 200: HierarchyData\n}\n\nexport type GetHierarchyResponse =\n GetHierarchyResponses[keyof GetHierarchyResponses]\n\nexport type GetHierarchyNodesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/hierarchies/{hierarchy_id}/nodes\"\n}\n\nexport type GetHierarchyNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetHierarchyNodesError =\n GetHierarchyNodesErrors[keyof GetHierarchyNodesErrors]\n\nexport type GetHierarchyNodesResponses = {\n /**\n * The child nodes of a catalog hierarchy.\n */\n 200: NodeListData\n}\n\nexport type GetHierarchyNodesResponse =\n GetHierarchyNodesResponses[keyof GetHierarchyNodesResponses]\n\nexport type GetHierarchyChildNodesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/hierarchies/{hierarchy_id}/children\"\n}\n\nexport type GetHierarchyChildNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetHierarchyChildNodesError =\n GetHierarchyChildNodesErrors[keyof GetHierarchyChildNodesErrors]\n\nexport type GetHierarchyChildNodesResponses = {\n /**\n * The child nodes of a catalog hierarchy.\n */\n 200: NodeListData\n}\n\nexport type GetHierarchyChildNodesResponse =\n GetHierarchyChildNodesResponses[keyof GetHierarchyChildNodesResponses]\n\nexport type GetAllNodesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/nodes\"\n}\n\nexport type GetAllNodesErrors = {\n /**\n * An unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetAllNodesError = GetAllNodesErrors[keyof GetAllNodesErrors]\n\nexport type GetAllNodesResponses = {\n /**\n * The nodes of a catalog.\n */\n 200: NodeListData\n}\n\nexport type GetAllNodesResponse =\n GetAllNodesResponses[keyof GetAllNodesResponses]\n\nexport type GetNodeData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: never\n url: \"/catalogs/{catalog_id}/releases/{release_id}/nodes/{node_id}\"\n}\n\nexport type GetNodeErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetNodeError = GetNodeErrors[keyof GetNodeErrors]\n\nexport type GetNodeResponses = {\n /**\n * The catalog node.\n */\n 200: NodeData\n}\n\nexport type GetNodeResponse = GetNodeResponses[keyof GetNodeResponses]\n\nexport type GetChildNodesData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: {\n /**\n * This endpoint supports filtering, see [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/nodes/{node_id}/relationships/children\"\n}\n\nexport type GetChildNodesErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetChildNodesError = GetChildNodesErrors[keyof GetChildNodesErrors]\n\nexport type GetChildNodesResponses = {\n /**\n * The child nodes of a catalog node.\n */\n 200: NodeListData\n}\n\nexport type GetChildNodesResponse =\n GetChildNodesResponses[keyof GetChildNodesResponses]\n\nexport type GetAllProductsData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/products\"\n}\n\nexport type GetAllProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetAllProductsError =\n GetAllProductsErrors[keyof GetAllProductsErrors]\n\nexport type GetAllProductsResponses = {\n /**\n * The products of a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetAllProductsResponse =\n GetAllProductsResponses[keyof GetAllProductsResponses]\n\nexport type GetProductData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/products/{product_id}\"\n}\n\nexport type GetProductErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetProductError = GetProductErrors[keyof GetProductErrors]\n\nexport type GetProductResponses = {\n /**\n * The product of a catalog.\n */\n 200: ProductData\n}\n\nexport type GetProductResponse = GetProductResponses[keyof GetProductResponses]\n\nexport type GetAllRelatedProductsData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The product ID.\n */\n product_id: string\n /**\n * The custom relationship slug.\n */\n custom_relationship_slug: string\n }\n query?: {\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/products/{product_id}/relationships/{custom_relationship_slug}/products\"\n}\n\nexport type GetAllRelatedProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetAllRelatedProductsError =\n GetAllRelatedProductsErrors[keyof GetAllRelatedProductsErrors]\n\nexport type GetAllRelatedProductsResponses = {\n /**\n * The related products of a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetAllRelatedProductsResponse =\n GetAllRelatedProductsResponses[keyof GetAllRelatedProductsResponses]\n\nexport type GetComponentProductIdsData = {\n body?: never\n headers?: {\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/products/{product_id}/relationships/component_products\"\n}\n\nexport type GetComponentProductIdsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetComponentProductIdsError =\n GetComponentProductIdsErrors[keyof GetComponentProductIdsErrors]\n\nexport type GetComponentProductIdsResponses = {\n /**\n * The list of component product IDs of a specific bundle product from a catalog.\n */\n 200: ProductReferenceListData\n}\n\nexport type GetComponentProductIdsResponse =\n GetComponentProductIdsResponses[keyof GetComponentProductIdsResponses]\n\nexport type GetChildProductsData = {\n body?: never\n headers?: {\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The product ID.\n */\n product_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/products/{product_id}/relationships/children\"\n}\n\nexport type GetChildProductsErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetChildProductsError =\n GetChildProductsErrors[keyof GetChildProductsErrors]\n\nexport type GetChildProductsResponses = {\n /**\n * The list of child products of a specific base product from a catalog.\n */\n 200: ProductListData\n}\n\nexport type GetChildProductsResponse =\n GetChildProductsResponses[keyof GetChildProductsResponses]\n\nexport type GetProductsForHierarchyData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog hierarchy ID.\n */\n hierarchy_id: string\n }\n query?: {\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/hierarchies/{hierarchy_id}/products\"\n}\n\nexport type GetProductsForHierarchyErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetProductsForHierarchyError =\n GetProductsForHierarchyErrors[keyof GetProductsForHierarchyErrors]\n\nexport type GetProductsForHierarchyResponses = {\n /**\n * The products of a catalog hierarchy.\n */\n 200: ProductListData\n}\n\nexport type GetProductsForHierarchyResponse =\n GetProductsForHierarchyResponses[keyof GetProductsForHierarchyResponses]\n\nexport type GetProductsForNodeData = {\n body?: never\n headers?: {\n /**\n * The language and locale your storefront prefers. See [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).\n */\n \"accept-language\"?: string\n /**\n * Supply a comma delimited list of pricebook ids to be used to lookup product prices from when the catalog supports price segmentation. The first pricebook will be highest priority (if more than one is supplied) and the rest in descending priority order. Used only for admin endpoints that dont support shopper contetx lookup.\n */\n \"EP-Pricebook-IDs-For-Price-Segmentation-Preview\"?: Array<string>\n }\n path: {\n /**\n * The catalog ID.\n */\n catalog_id: string\n /**\n * The unique identifier of a published release of the catalog or `latestPublished` for the most recently published version.\n */\n release_id: string\n /**\n * The catalog node ID.\n */\n node_id: string\n }\n query?: {\n /**\n * This endpoints support filtering. See [Filtering](#filtering).\n *\n */\n filter?: string\n /**\n * Using the include parameter, you can retrieve top-level resources.\n *\n * - Files or main image. For example, `include=files,main_image`.\n * - Component product data. For example, `include=component_products`.\n * - Key attribute data, such as SKU or slug.\n *\n */\n include?: Array<\"files\" | \"main_image\" | \"component_products\">\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n }\n url: \"/catalogs/{catalog_id}/releases/{release_id}/nodes/{node_id}/relationships/products\"\n}\n\nexport type GetProductsForNodeErrors = {\n /**\n * The unexpected error.\n */\n default: ErrorResponse\n}\n\nexport type GetProductsForNodeError =\n GetProductsForNodeErrors[keyof GetProductsForNodeErrors]\n\nexport type GetProductsForNodeResponses = {\n /**\n * The products of a catalog node.\n */\n 200: ProductListData\n}\n\nexport type GetProductsForNodeResponse =\n GetProductsForNodeResponses[keyof GetProductsForNodeResponses]\n\nexport type GetCartsData = {\n body?: never\n headers?: {\n /**\n * An Account Management Authentication token to access a specific account's carts.\n */\n \"EP-Account-Management-Authentication-Token\"?: string\n /**\n * A customer token to access a specific customer's carts.\n */\n \"x-moltin-customer-token\"?: string\n }\n path?: never\n query?: never\n url: \"/v2/carts\"\n}\n\nexport type GetCartsErrors = {\n /**\n * Bad Request\n */\n 400: {\n errors?: Array<{\n detail?: string\n title?: string\n }>\n }\n /**\n * Unauthorized call\n */\n 403: ResponseErrorResponse\n}\n\nexport type GetCartsError = GetCartsErrors[keyof GetCartsErrors]\n\nexport type GetCartsResponses = {\n 200: CartCollectionResponse\n}\n\nexport type GetCartsResponse = GetCartsResponses[keyof GetCartsResponses]\n\nexport type CreateACartData = {\n body?: CartsRequest\n headers?: {\n /**\n * A customer token to be associated with the cart.\n */\n \"x-moltin-customer-token\"?: string\n }\n path?: never\n query?: never\n url: \"/v2/carts\"\n}\n\nexport type CreateACartErrors = {\n /**\n * Bad Request\n */\n 400: {\n errors?: Array<{\n detail?: string\n status?: number\n title?: string\n }>\n }\n /**\n * Unauthorized call\n */\n 403: ResponseErrorResponse\n}\n\nexport type CreateACartError = CreateACartErrors[keyof CreateACartErrors]\n\nexport type CreateACartResponses = {\n 201: CartEntityResponse\n}\n\nexport type CreateACartResponse =\n CreateACartResponses[keyof CreateACartResponses]\n\nexport type DeleteACartData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart that you want to delete.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}\"\n}\n\nexport type DeleteACartErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n}\n\nexport type DeleteACartError = DeleteACartErrors[keyof DeleteACartErrors]\n\nexport type DeleteACartResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteACartResponse =\n DeleteACartResponses[keyof DeleteACartResponses]\n\nexport type GetACartData = {\n body?: never\n path: {\n /**\n * The unique identifier for this cart that you created.\n */\n cartID: string\n }\n query?: {\n include?: Array<\"items\" | \"tax_items\" | \"custom_discounts\" | \"promotions\">\n }\n url: \"/v2/carts/{cartID}\"\n}\n\nexport type GetACartErrors = {\n /**\n * Bad Request\n */\n 400: {\n errors?: Array<{\n detail?: string\n status?: number\n title?: string\n }>\n }\n}\n\nexport type GetACartError = GetACartErrors[keyof GetACartErrors]\n\nexport type GetACartResponses = {\n /**\n * OK\n */\n 200: CartEntityResponse\n}\n\nexport type GetACartResponse = GetACartResponses[keyof GetACartResponses]\n\nexport type UpdateACartData = {\n body?: CartsRequest\n path: {\n /**\n * The unique identifier of a cart created by you.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}\"\n}\n\nexport type UpdateACartErrors = {\n /**\n * Unauthorized call\n */\n 403: ResponseErrorResponse\n /**\n * Unprocessable Content\n */\n 422: {\n errors?: Array<{\n detail?: string\n status?: number\n title?: string\n }>\n }\n}\n\nexport type UpdateACartError = UpdateACartErrors[keyof UpdateACartErrors]\n\nexport type UpdateACartResponses = {\n 200: CartEntityResponse\n}\n\nexport type UpdateACartResponse =\n UpdateACartResponses[keyof UpdateACartResponses]\n\nexport type DeleteAllCartItemsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart created by you.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items\"\n}\n\nexport type DeleteAllCartItemsErrors = {\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type DeleteAllCartItemsError =\n DeleteAllCartItemsErrors[keyof DeleteAllCartItemsErrors]\n\nexport type DeleteAllCartItemsResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteAllCartItemsResponse =\n DeleteAllCartItemsResponses[keyof DeleteAllCartItemsResponses]\n\nexport type GetCartItemsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart that you created.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items\"\n}\n\nexport type GetCartItemsResponses = {\n 200: CartItemsResponse\n}\n\nexport type GetCartItemsResponse =\n GetCartItemsResponses[keyof GetCartItemsResponses]\n\nexport type ManageCartsData = {\n body?:\n | CartItemObjectRequest\n | SubscriptionItemObject\n | CartMergeObjectRequest\n | CustomItemObject\n | ReOrderObjectRequest\n | PromotionItemObject\n | BulkAddItemsRequest\n path: {\n /**\n * The unique identifier of the cart that you created.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items\"\n}\n\nexport type ManageCartsErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Not Found\n */\n 404: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n /**\n * Internal Server Error\n */\n 500: ResponseErrorResponse\n}\n\nexport type ManageCartsError = ManageCartsErrors[keyof ManageCartsErrors]\n\nexport type ManageCartsResponses = {\n 201: CartsResponse\n}\n\nexport type ManageCartsResponse =\n ManageCartsResponses[keyof ManageCartsResponses]\n\nexport type BulkUpdateItemsInCartData = {\n body?: BulkUpdateCartsItems\n path: {\n /**\n * The unique identifier of the cart that you created.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items\"\n}\n\nexport type BulkUpdateItemsInCartErrors = {\n /**\n * Insufficient Stock\n */\n 400: ResponseErrorResponse\n /**\n * Not Found\n */\n 404: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type BulkUpdateItemsInCartError =\n BulkUpdateItemsInCartErrors[keyof BulkUpdateItemsInCartErrors]\n\nexport type BulkUpdateItemsInCartResponses = {\n 200: unknown\n}\n\nexport type DeleteACartItemData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart created by you.\n */\n cartID: string\n /**\n * The unique identifier of the cart that you want to delete.\n */\n cartitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}\"\n}\n\nexport type DeleteACartItemResponses = {\n 200: CartsResponse\n}\n\nexport type DeleteACartItemResponse =\n DeleteACartItemResponses[keyof DeleteACartItemResponses]\n\nexport type UpdateACartItemData = {\n body?: UpdateCartsItems\n path: {\n /**\n * A unique identifier of the cart that you created.\n */\n cartID: string\n /**\n * A unique identifier of the cart item.\n */\n cartitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}\"\n}\n\nexport type UpdateACartItemErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Not Found\n */\n 404: ResponseErrorResponse\n}\n\nexport type UpdateACartItemError =\n UpdateACartItemErrors[keyof UpdateACartItemErrors]\n\nexport type UpdateACartItemResponses = {\n 200: CartsResponse\n}\n\nexport type UpdateACartItemResponse =\n UpdateACartItemResponses[keyof UpdateACartItemResponses]\n\nexport type DeleteAccountCartAssociationData = {\n body?: CartsRelationshipsAccountsData\n headers?: {\n /**\n * An Account Management Authentication token to access a specific account's carts.\n */\n \"EP-Account-Management-Authentication-Token\"?: string\n }\n path: {\n /**\n * The ID for the cart created by the account.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/relationships/accounts\"\n}\n\nexport type DeleteAccountCartAssociationErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Forbidden\n */\n 403: ResponseErrorResponse\n}\n\nexport type DeleteAccountCartAssociationError =\n DeleteAccountCartAssociationErrors[keyof DeleteAccountCartAssociationErrors]\n\nexport type DeleteAccountCartAssociationResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteAccountCartAssociationResponse =\n DeleteAccountCartAssociationResponses[keyof DeleteAccountCartAssociationResponses]\n\nexport type CreateAccountCartAssociationData = {\n body?: CartsRelationshipsAccountsData\n headers?: {\n /**\n * An Account Management Authentication token to access a specific account's carts.\n */\n \"EP-Account-Management-Authentication-Token\"?: string\n }\n path: {\n /**\n * The ID for the cart created by the account. Ensure that you follow the guidelines for [Safe Characters](/guides/Getting-Started/safe-characters).\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/relationships/accounts\"\n}\n\nexport type CreateAccountCartAssociationErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Forbidden\n */\n 403: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type CreateAccountCartAssociationError =\n CreateAccountCartAssociationErrors[keyof CreateAccountCartAssociationErrors]\n\nexport type CreateAccountCartAssociationResponses = {\n /**\n * OK\n */\n 200: CartsRelationshipsAccountsData\n /**\n * No Content is sent back in case the account has already been associated to the cart.\n */\n 204: void\n}\n\nexport type CreateAccountCartAssociationResponse =\n CreateAccountCartAssociationResponses[keyof CreateAccountCartAssociationResponses]\n\nexport type DeleteCustomerCartAssociationData = {\n body?: CartsRelationshipsCustomersData\n headers?: {\n /**\n * A customer token to access a specific customer's carts.\n */\n \"x-moltin-customer-token\"?: string\n }\n path: {\n /**\n * The ID for the cart created by the customer.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/relationships/customers\"\n}\n\nexport type DeleteCustomerCartAssociationErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Forbidden\n */\n 403: ResponseErrorResponse\n}\n\nexport type DeleteCustomerCartAssociationError =\n DeleteCustomerCartAssociationErrors[keyof DeleteCustomerCartAssociationErrors]\n\nexport type DeleteCustomerCartAssociationResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteCustomerCartAssociationResponse =\n DeleteCustomerCartAssociationResponses[keyof DeleteCustomerCartAssociationResponses]\n\nexport type CreateCustomerCartAssociationData = {\n body?: CartsRelationshipsCustomersData\n headers?: {\n /**\n * A customer token to access a specific customer's carts.\n */\n \"x-moltin-customer-token\"?: string\n }\n path: {\n /**\n * The ID for the cart created by the customer. Ensure that you follow the guidelines for [Safe Characters](/guides/Getting-Started/safe-characters).\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/relationships/customers\"\n}\n\nexport type CreateCustomerCartAssociationErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Forbidden\n */\n 403: ResponseErrorResponse\n /**\n * Unauthorized\n */\n 422: ResponseErrorResponse\n}\n\nexport type CreateCustomerCartAssociationError =\n CreateCustomerCartAssociationErrors[keyof CreateCustomerCartAssociationErrors]\n\nexport type CreateCustomerCartAssociationResponses = {\n /**\n * OK\n */\n 200: CartsRelationshipsCustomersData\n /**\n * No Content\n */\n 204: void\n}\n\nexport type CreateCustomerCartAssociationResponse =\n CreateCustomerCartAssociationResponses[keyof CreateCustomerCartAssociationResponses]\n\nexport type DeleteAPromotionViaPromotionCodeData = {\n body?: never\n path: {\n /**\n * Specifies the unique identifier of a cart created by you.\n */\n cartID: string\n /**\n * Specifies the promotion code to be deleted.\n */\n promoCode: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/discounts/{promoCode}\"\n}\n\nexport type DeleteAPromotionViaPromotionCodeResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteAPromotionViaPromotionCodeResponse =\n DeleteAPromotionViaPromotionCodeResponses[keyof DeleteAPromotionViaPromotionCodeResponses]\n\nexport type AddTaxItemToCartData = {\n body?: CartItemTaxesEntityResponse\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n /**\n * The unique identifier of the cart item.\n */\n cartitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/taxes\"\n}\n\nexport type AddTaxItemToCartErrors = {\n /**\n * Unauthorized\n */\n 422: ResponseErrorResponse\n}\n\nexport type AddTaxItemToCartError =\n AddTaxItemToCartErrors[keyof AddTaxItemToCartErrors]\n\nexport type AddTaxItemToCartResponses = {\n 200: CartItemTaxesEntityResponse\n /**\n * Created\n */\n 201: CartItemTaxesEntityResponse\n}\n\nexport type AddTaxItemToCartResponse =\n AddTaxItemToCartResponses[keyof AddTaxItemToCartResponses]\n\nexport type BulkDeleteTaxItemsFromCartData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/taxes\"\n}\n\nexport type BulkDeleteTaxItemsFromCartResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type BulkDeleteTaxItemsFromCartResponse =\n BulkDeleteTaxItemsFromCartResponses[keyof BulkDeleteTaxItemsFromCartResponses]\n\nexport type BulkAddTaxItemsToCartData = {\n body?: CartsBulkTaxes\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/taxes\"\n}\n\nexport type BulkAddTaxItemsToCartErrors = {\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type BulkAddTaxItemsToCartError =\n BulkAddTaxItemsToCartErrors[keyof BulkAddTaxItemsToCartErrors]\n\nexport type BulkAddTaxItemsToCartResponses = {\n 200: CartsBulkTaxes\n /**\n * Created\n */\n 201: CartsBulkTaxes\n}\n\nexport type BulkAddTaxItemsToCartResponse =\n BulkAddTaxItemsToCartResponses[keyof BulkAddTaxItemsToCartResponses]\n\nexport type DeleteATaxItemData = {\n body?: never\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n /**\n * The unique identifier of the cart item.\n */\n cartitemID: string\n /**\n * The unique identifier of the tax item.\n */\n taxitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/taxes/{taxitemID}\"\n}\n\nexport type DeleteATaxItemResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteATaxItemResponse =\n DeleteATaxItemResponses[keyof DeleteATaxItemResponses]\n\nexport type UpdateATaxItemData = {\n body?: CartItemTaxesEntityResponse\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n /**\n * The unique identifier of the cart item.\n */\n cartitemID: string\n /**\n * The unique identifier of the tax item.\n */\n taxitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/taxes/{taxitemID}\"\n}\n\nexport type UpdateATaxItemResponses = {\n 200: CartItemTaxesEntityResponse\n}\n\nexport type UpdateATaxItemResponse =\n UpdateATaxItemResponses[keyof UpdateATaxItemResponses]\n\nexport type BulkDeleteCustomDiscountsFromCartData = {\n body?: never\n path: {\n /**\n * Specifies the unique ID for the cart.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/custom-discounts\"\n}\n\nexport type BulkDeleteCustomDiscountsFromCartResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type BulkDeleteCustomDiscountsFromCartResponse =\n BulkDeleteCustomDiscountsFromCartResponses[keyof BulkDeleteCustomDiscountsFromCartResponses]\n\nexport type BulkAddCustomDiscountsToCartData = {\n body?: CartsBulkCustomDiscounts\n path: {\n /**\n * Specifies the system generated ID for the cart that the shopper created.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/custom-discounts\"\n}\n\nexport type BulkAddCustomDiscountsToCartErrors = {\n /**\n * Could not apply custom discount\n */\n 400: ResponseErrorResponse\n /**\n * Could not apply custom discount\n */\n 422: ResponseErrorResponse\n}\n\nexport type BulkAddCustomDiscountsToCartError =\n BulkAddCustomDiscountsToCartErrors[keyof BulkAddCustomDiscountsToCartErrors]\n\nexport type BulkAddCustomDiscountsToCartResponses = {\n 201:\n | CartsBulkCustomDiscountsResponse\n | CartsBulkCustomDiscountsCollectionResponse\n}\n\nexport type BulkAddCustomDiscountsToCartResponse =\n BulkAddCustomDiscountsToCartResponses[keyof BulkAddCustomDiscountsToCartResponses]\n\nexport type DeleteCustomDiscountFromCartData = {\n body?: never\n path: {\n /**\n * Specifies the unique ID for the cart.\n */\n cartID: string\n /**\n * Specifies the ID for the custom discount to be deleted.\n */\n customdiscountID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/custom-discounts/{customdiscountID}\"\n}\n\nexport type DeleteCustomDiscountFromCartResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteCustomDiscountFromCartResponse =\n DeleteCustomDiscountFromCartResponses[keyof DeleteCustomDiscountFromCartResponses]\n\nexport type UpdateCustomDiscountForCartData = {\n body?: CartsCustomDiscountsEntityRequest\n path: {\n /**\n * Specifies the unique ID for the cart.\n */\n cartID: string\n /**\n * Specifies the ID for the custom discount to be updated.\n */\n customdiscountID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/custom-discounts/{customdiscountID}\"\n}\n\nexport type UpdateCustomDiscountForCartResponses = {\n 200: CartsCustomDiscountsEntityResponse\n}\n\nexport type UpdateCustomDiscountForCartResponse =\n UpdateCustomDiscountForCartResponses[keyof UpdateCustomDiscountForCartResponses]\n\nexport type AddCustomDiscountToCartItemData = {\n body?: CartsCustomDiscountsObject\n path: {\n /**\n * Specifies the ID for the cart.\n */\n cartID: string\n /**\n * Specifies the unique identifier for the cart item.\n */\n cartitemID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/custom-discounts\"\n}\n\nexport type AddCustomDiscountToCartItemErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Bad Request\n */\n 422: ResponseErrorResponse\n}\n\nexport type AddCustomDiscountToCartItemError =\n AddCustomDiscountToCartItemErrors[keyof AddCustomDiscountToCartItemErrors]\n\nexport type AddCustomDiscountToCartItemResponses = {\n /**\n * Successful request\n */\n 201:\n | CartsCustomDiscountsCollectionResponse\n | CartsCustomDiscountsEntityResponse\n}\n\nexport type AddCustomDiscountToCartItemResponse =\n AddCustomDiscountToCartItemResponses[keyof AddCustomDiscountToCartItemResponses]\n\nexport type DeleteCustomDiscountFromCartItemData = {\n body?: never\n path: {\n /**\n * Specifies the ID for the cart.\n */\n cartID: string\n /**\n * Specifies the ID for the cart item.\n */\n cartitemID: string\n /**\n * Specifies the ID for the custom discount to be deleted.\n */\n customdiscountID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/custom-discounts/{customdiscountID}\"\n}\n\nexport type DeleteCustomDiscountFromCartItemResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteCustomDiscountFromCartItemResponse =\n DeleteCustomDiscountFromCartItemResponses[keyof DeleteCustomDiscountFromCartItemResponses]\n\nexport type UpdateCustomDiscountForCartItemData = {\n body?: CartsCustomDiscountsEntityRequest\n path: {\n /**\n * Specifies the ID for the cart.\n */\n cartID: string\n /**\n * Specifies the ID for the cart item.\n */\n cartitemID: string\n /**\n * Specifies the ID for the custom discount to be updated.\n */\n customdiscountID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/items/{cartitemID}/custom-discounts/{customdiscountID}\"\n}\n\nexport type UpdateCustomDiscountForCartItemResponses = {\n 200: CartsCustomDiscountsEntityResponse\n}\n\nexport type UpdateCustomDiscountForCartItemResponse =\n UpdateCustomDiscountForCartItemResponses[keyof UpdateCustomDiscountForCartItemResponses]\n\nexport type GetShippingGroupsData = {\n body?: never\n path: {\n /**\n * The ID of the cart\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/shipping-groups\"\n}\n\nexport type GetShippingGroupsErrors = {\n /**\n * Cart not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type GetShippingGroupsError =\n GetShippingGroupsErrors[keyof GetShippingGroupsErrors]\n\nexport type GetShippingGroupsResponses = {\n /**\n * A list of shipping groups\n */\n 200: {\n data?: Array<ShippingGroupResponse>\n }\n}\n\nexport type GetShippingGroupsResponse =\n GetShippingGroupsResponses[keyof GetShippingGroupsResponses]\n\nexport type CreateShippingGroupData = {\n body: CreateShippingGroupRequest\n path: {\n /**\n * The ID of the cart\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/shipping-groups\"\n}\n\nexport type CreateShippingGroupErrors = {\n /**\n * Invalid request\n */\n 400: ResponseErrorResponse\n /**\n * Cart not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type CreateShippingGroupError =\n CreateShippingGroupErrors[keyof CreateShippingGroupErrors]\n\nexport type CreateShippingGroupResponses = {\n /**\n * Shipping group created successfully\n */\n 201: ShippingGroupResponse\n}\n\nexport type CreateShippingGroupResponse =\n CreateShippingGroupResponses[keyof CreateShippingGroupResponses]\n\nexport type DeleteCartShippingGroupData = {\n body?: never\n path: {\n /**\n * The ID of the cart\n */\n cartId: string\n /**\n * The ID of the shipping group to delete\n */\n shippingGroupId: string\n }\n query?: never\n url: \"/v2/carts/{cartId}/shipping-groups/{shippingGroupId}\"\n}\n\nexport type DeleteCartShippingGroupErrors = {\n /**\n * Cannot delete shipping group that is attached to cart items\n */\n 400: ResponseErrorResponse\n /**\n * Cart or shipping group not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type DeleteCartShippingGroupError =\n DeleteCartShippingGroupErrors[keyof DeleteCartShippingGroupErrors]\n\nexport type DeleteCartShippingGroupResponses = {\n /**\n * Successfully deleted the shipping group\n */\n 204: void\n}\n\nexport type DeleteCartShippingGroupResponse =\n DeleteCartShippingGroupResponses[keyof DeleteCartShippingGroupResponses]\n\nexport type GetShippingGroupByIdData = {\n body?: never\n path: {\n /**\n * The ID of the cart\n */\n cartId: string\n /**\n * The ID of the shipping group\n */\n shippingGroupId: string\n }\n query?: never\n url: \"/v2/carts/{cartId}/shipping-groups/{shippingGroupId}\"\n}\n\nexport type GetShippingGroupByIdErrors = {\n /**\n * Shipping group or cart not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type GetShippingGroupByIdError =\n GetShippingGroupByIdErrors[keyof GetShippingGroupByIdErrors]\n\nexport type GetShippingGroupByIdResponses = {\n /**\n * Shipping group details\n */\n 200: {\n data?: ShippingGroupResponse\n }\n}\n\nexport type GetShippingGroupByIdResponse =\n GetShippingGroupByIdResponses[keyof GetShippingGroupByIdResponses]\n\nexport type UpdateShippingGroupData = {\n body: UpdateCartShippingGroupRequest\n path: {\n /**\n * The ID of the cart\n */\n cartId: string\n /**\n * The ID of the shipping group\n */\n shippingGroupId: string\n }\n query?: never\n url: \"/v2/carts/{cartId}/shipping-groups/{shippingGroupId}\"\n}\n\nexport type UpdateShippingGroupErrors = {\n /**\n * Invalid request\n */\n 400: ResponseErrorResponse\n /**\n * Shipping group or cart not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type UpdateShippingGroupError =\n UpdateShippingGroupErrors[keyof UpdateShippingGroupErrors]\n\nexport type UpdateShippingGroupResponses = {\n /**\n * Shipping group updated successfully\n */\n 200: ShippingGroupResponse\n}\n\nexport type UpdateShippingGroupResponse =\n UpdateShippingGroupResponses[keyof UpdateShippingGroupResponses]\n\nexport type CreateCartPaymentIntentData = {\n body?: ElasticPathPaymentsPoweredByStripePayment\n path: {\n /**\n * The universally unique identifier of the cart for which you want to create a payment intent.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/payments\"\n}\n\nexport type CreateCartPaymentIntentResponses = {\n /**\n * Payment Intent created successfully.\n */\n 201: CartResponse\n}\n\nexport type CreateCartPaymentIntentResponse =\n CreateCartPaymentIntentResponses[keyof CreateCartPaymentIntentResponses]\n\nexport type UpdateCartPaymentIntentData = {\n body: CartPaymentUpdate\n path: {\n /**\n * The unique identifier of the cart.\n */\n cartID: string\n /**\n * The unique identifier of the payment intent.\n */\n paymentIntentID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/payments/{paymentIntentID}\"\n}\n\nexport type UpdateCartPaymentIntentResponses = {\n /**\n * Payment updated successfully\n */\n 200: CartResponse\n}\n\nexport type UpdateCartPaymentIntentResponse =\n UpdateCartPaymentIntentResponses[keyof UpdateCartPaymentIntentResponses]\n\nexport type CheckoutApiData = {\n body?: CustomerCheckout | AccountCheckout\n headers?: {\n /**\n * An account management authentication token that identifies the authenticated account member.\n */\n \"EP-Account-Management-Authentication-Token\"?: string\n }\n path: {\n /**\n * The ID of the cart that you want to checkout.\n */\n cartID: string\n }\n query?: never\n url: \"/v2/carts/{cartID}/checkout\"\n}\n\nexport type CheckoutApiErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Internal Server Error\n */\n 500: ResponseErrorResponse\n}\n\nexport type CheckoutApiError = CheckoutApiErrors[keyof CheckoutApiErrors]\n\nexport type CheckoutApiResponses = {\n /**\n * OK\n */\n 201: OrderEntityResponse\n}\n\nexport type CheckoutApiResponse =\n CheckoutApiResponses[keyof CheckoutApiResponses]\n\nexport type GetCustomerOrdersData = {\n body?: never\n headers?: {\n /**\n * A customer token to access a specific customer's orders.\n */\n \"x-moltin-customer-token\"?: string\n }\n path?: never\n query?: {\n /**\n * For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint documentation to understand the attributes and operators an endpoint supports.\n *\n */\n filter?: string\n include?: Array<\"items\">\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[limit]\"?: number\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/api/settings/settings-introduction#page-length) store setting is used.\n */\n \"page[offset]\"?: number\n }\n url: \"/v2/orders\"\n}\n\nexport type GetCustomerOrdersResponses = {\n 200: OrderCollectionResponse\n}\n\nexport type GetCustomerOrdersResponse =\n GetCustomerOrdersResponses[keyof GetCustomerOrdersResponses]\n\nexport type GetAnOrderData = {\n body?: never\n path: {\n /**\n * The ID of the order.\n */\n orderID: string\n }\n query?: {\n include?: Array<\"items\">\n }\n url: \"/v2/orders/{orderID}\"\n}\n\nexport type GetAnOrderErrors = {\n /**\n * Not Found\n */\n 404: ResponseErrorResponse\n}\n\nexport type GetAnOrderError = GetAnOrderErrors[keyof GetAnOrderErrors]\n\nexport type GetAnOrderResponses = {\n /**\n * OK\n */\n 200: OrderEntityResponse\n}\n\nexport type GetAnOrderResponse = GetAnOrderResponses[keyof GetAnOrderResponses]\n\nexport type UpdateAnOrderData = {\n body?: OrdersUpdateRequest\n path: {\n /**\n * The unique identifier of the order.\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}\"\n}\n\nexport type UpdateAnOrderErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type UpdateAnOrderError = UpdateAnOrderErrors[keyof UpdateAnOrderErrors]\n\nexport type UpdateAnOrderResponses = {\n /**\n * OK\n */\n 200: OrderEntityResponse\n}\n\nexport type UpdateAnOrderResponse =\n UpdateAnOrderResponses[keyof UpdateAnOrderResponses]\n\nexport type GetOrderItemsData = {\n body?: never\n path: {\n /**\n * The ID of the order.\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/items\"\n}\n\nexport type GetOrderItemsResponses = {\n 200: OrderItemCollectionResponse\n}\n\nexport type GetOrderItemsResponse =\n GetOrderItemsResponses[keyof GetOrderItemsResponses]\n\nexport type AnonymizeOrdersData = {\n body?: OrdersAnonymizeRequest & unknown\n path?: never\n query?: never\n url: \"/v2/orders/anonymize\"\n}\n\nexport type AnonymizeOrdersErrors = {\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type AnonymizeOrdersError =\n AnonymizeOrdersErrors[keyof AnonymizeOrdersErrors]\n\nexport type AnonymizeOrdersResponses = {\n /**\n * OK\n */\n 200: OrdersListResponse\n}\n\nexport type AnonymizeOrdersResponse =\n AnonymizeOrdersResponses[keyof AnonymizeOrdersResponses]\n\nexport type ConfirmOrderData = {\n body?: never\n path: {\n /**\n * The unique identifier of the order to confirm.\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/confirm\"\n}\n\nexport type ConfirmOrderErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Not Found\n */\n 404: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type ConfirmOrderError = ConfirmOrderErrors[keyof ConfirmOrderErrors]\n\nexport type ConfirmOrderResponses = {\n /**\n * Order confirmed successfully\n */\n 200: OrderResponse\n}\n\nexport type ConfirmOrderResponse =\n ConfirmOrderResponses[keyof ConfirmOrderResponses]\n\nexport type PaymentSetupData = {\n body?: PaymentsRequest\n path: {\n /**\n * The Universally Unique Identifier (UUID) of the order you want to pay for.\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/payments\"\n}\n\nexport type PaymentSetupErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Conflict\n */\n 409: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type PaymentSetupError = PaymentSetupErrors[keyof PaymentSetupErrors]\n\nexport type PaymentSetupResponses = {\n /**\n * OK\n */\n 200: TransactionEntityResponse\n}\n\nexport type PaymentSetupResponse =\n PaymentSetupResponses[keyof PaymentSetupResponses]\n\nexport type ConfirmPaymentData = {\n body?: OrdersTransactionsConfirmRequest\n path: {\n /**\n * The unique identifier of the order.\n */\n orderID: string\n /**\n * The unique identifier of the transaction.\n */\n transactionID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions/{transactionID}/confirm\"\n}\n\nexport type ConfirmPaymentErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n}\n\nexport type ConfirmPaymentError =\n ConfirmPaymentErrors[keyof ConfirmPaymentErrors]\n\nexport type ConfirmPaymentResponses = {\n 200: TransactionEntityResponse\n}\n\nexport type ConfirmPaymentResponse =\n ConfirmPaymentResponses[keyof ConfirmPaymentResponses]\n\nexport type CaptureATransactionData = {\n body?: OrdersTransactionsCaptureRequest\n path: {\n /**\n * The UUID of the order.\n */\n orderID: string\n /**\n * The UUID of the transaction to capture.\n */\n transactionID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions/{transactionID}/capture\"\n}\n\nexport type CaptureATransactionErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n}\n\nexport type CaptureATransactionError =\n CaptureATransactionErrors[keyof CaptureATransactionErrors]\n\nexport type CaptureATransactionResponses = {\n 200: TransactionEntityResponse\n}\n\nexport type CaptureATransactionResponse =\n CaptureATransactionResponses[keyof CaptureATransactionResponses]\n\nexport type RefundATransactionData = {\n body?: OrdersTransactionsRefundRequest\n path: {\n /**\n * The UUID of the order.\n */\n orderID: string\n /**\n * The UUID of the transaction you want to refund.\n */\n transactionID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions/{transactionID}/refund\"\n}\n\nexport type RefundATransactionErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type RefundATransactionError =\n RefundATransactionErrors[keyof RefundATransactionErrors]\n\nexport type RefundATransactionResponses = {\n 200: TransactionEntityResponse\n}\n\nexport type RefundATransactionResponse =\n RefundATransactionResponses[keyof RefundATransactionResponses]\n\nexport type GetOrderTransactionsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the order.\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions\"\n}\n\nexport type GetOrderTransactionsErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n}\n\nexport type GetOrderTransactionsError =\n GetOrderTransactionsErrors[keyof GetOrderTransactionsErrors]\n\nexport type GetOrderTransactionsResponses = {\n 200: TransactionListResponse\n}\n\nexport type GetOrderTransactionsResponse =\n GetOrderTransactionsResponses[keyof GetOrderTransactionsResponses]\n\nexport type GetATransactionData = {\n body?: never\n path: {\n /**\n * The unique identifier of the order that you require transactions for.\n */\n orderID: string\n /**\n * The unique identifier of the transaction.\n */\n transactionID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions/{transactionID}\"\n}\n\nexport type GetATransactionResponses = {\n 200: ResponseData & {\n data?: TransactionResponse\n }\n}\n\nexport type GetATransactionResponse =\n GetATransactionResponses[keyof GetATransactionResponses]\n\nexport type CancelATransactionData = {\n body?: OrdersTransactionsCancelRequest\n path: {\n /**\n * The unique identifier of the order.\n */\n orderID: string\n /**\n * The unique identifier of the transaction to be canceled or voided.\n */\n transactionID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/transactions/{transactionID}/cancel\"\n}\n\nexport type CancelATransactionErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n}\n\nexport type CancelATransactionError =\n CancelATransactionErrors[keyof CancelATransactionErrors]\n\nexport type CancelATransactionResponses = {\n 200: TransactionEntityResponse\n}\n\nexport type CancelATransactionResponse =\n CancelATransactionResponses[keyof CancelATransactionResponses]\n\nexport type GetOrderShippingGroupsData = {\n body?: never\n path: {\n /**\n * The ID of the order\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/shipping-groups\"\n}\n\nexport type GetOrderShippingGroupsErrors = {\n /**\n * Order not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type GetOrderShippingGroupsError =\n GetOrderShippingGroupsErrors[keyof GetOrderShippingGroupsErrors]\n\nexport type GetOrderShippingGroupsResponses = {\n /**\n * A list of shipping groups\n */\n 200: {\n data?: Array<ShippingGroupResponse>\n }\n}\n\nexport type GetOrderShippingGroupsResponse =\n GetOrderShippingGroupsResponses[keyof GetOrderShippingGroupsResponses]\n\nexport type CreateOrderShippingGroupData = {\n /**\n * Shipping group details\n */\n body?: {\n data?: {\n type: \"shipping_group\"\n /**\n * The shipping type for this group\n */\n shipping_type?: string\n /**\n * Tracking reference for the shipment\n */\n tracking_reference?: string\n address?: {\n first_name?: string\n last_name?: string\n phone_number?: string\n company_name?: string\n line_1?: string\n line_2?: string\n city?: string\n postcode?: string\n county?: string\n country?: string\n region?: string\n instructions?: string\n }\n delivery_estimate?: {\n start?: Date\n end?: Date\n }\n }\n }\n path: {\n /**\n * The ID of the order\n */\n orderID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/shipping-groups\"\n}\n\nexport type CreateOrderShippingGroupErrors = {\n /**\n * Bad Request\n */\n 400: ResponseErrorResponse\n /**\n * Order not found\n */\n 404: ResponseErrorResponse\n /**\n * Unprocessable Entity\n */\n 422: ResponseErrorResponse\n}\n\nexport type CreateOrderShippingGroupError =\n CreateOrderShippingGroupErrors[keyof CreateOrderShippingGroupErrors]\n\nexport type CreateOrderShippingGroupResponses = {\n /**\n * Shipping group created\n */\n 201: {\n data?: ShippingGroupResponse\n }\n}\n\nexport type CreateOrderShippingGroupResponse =\n CreateOrderShippingGroupResponses[keyof CreateOrderShippingGroupResponses]\n\nexport type GetShippingGroupsByIdData = {\n body?: never\n path: {\n /**\n * The ID of the order\n */\n orderID: string\n /**\n * The ID of the shipping group\n */\n shippingGroupID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/shipping-groups/{shippingGroupID}\"\n}\n\nexport type GetShippingGroupsByIdErrors = {\n /**\n * Shipping group or order not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type GetShippingGroupsByIdError =\n GetShippingGroupsByIdErrors[keyof GetShippingGroupsByIdErrors]\n\nexport type GetShippingGroupsByIdResponses = {\n /**\n * Shipping group details\n */\n 200: {\n data?: ShippingGroupResponse\n }\n}\n\nexport type GetShippingGroupsByIdResponse =\n GetShippingGroupsByIdResponses[keyof GetShippingGroupsByIdResponses]\n\nexport type PutShippingGroupByIdData = {\n body: UpdateOrderShippingGroupRequest\n path: {\n /**\n * The ID of the order\n */\n orderID: string\n /**\n * The ID of the shipping group\n */\n shippingGroupID: string\n }\n query?: never\n url: \"/v2/orders/{orderID}/shipping-groups/{shippingGroupID}\"\n}\n\nexport type PutShippingGroupByIdErrors = {\n /**\n * Invalid request\n */\n 400: ResponseErrorResponse\n /**\n * Shipping group or order not found\n */\n 404: ResponseErrorResponse\n}\n\nexport type PutShippingGroupByIdError =\n PutShippingGroupByIdErrors[keyof PutShippingGroupByIdErrors]\n\nexport type PutShippingGroupByIdResponses = {\n /**\n * Shipping group updated successfully\n */\n 200: ShippingGroupResponse\n}\n\nexport type PutShippingGroupByIdResponse =\n PutShippingGroupByIdResponses[keyof PutShippingGroupByIdResponses]\n\nexport type ListOfferingsData = {\n body?: never\n path?: never\n query?: {\n /**\n * Some Subscriptions API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\n filter?: string\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\n include?: Array<\"plans\" | \"pricing_options\" | \"features\">\n }\n url: \"/v2/subscriptions/offerings\"\n}\n\nexport type ListOfferingsErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListOfferingsError = ListOfferingsErrors[keyof ListOfferingsErrors]\n\nexport type ListOfferingsResponses = {\n /**\n * Success. A list of offerings is returned.\n */\n 200: {\n data?: Array<Offering>\n included?: OfferingIncludes\n links?: Links2\n }\n}\n\nexport type ListOfferingsResponse =\n ListOfferingsResponses[keyof ListOfferingsResponses]\n\nexport type GetOfferingData = {\n body?: never\n path: {\n /**\n * The unique identifier of the offering.\n */\n offering_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\n include?: Array<\"plans\" | \"pricing_options\" | \"features\">\n }\n url: \"/v2/subscriptions/offerings/{offering_uuid}\"\n}\n\nexport type GetOfferingErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetOfferingError = GetOfferingErrors[keyof GetOfferingErrors]\n\nexport type GetOfferingResponses = {\n /**\n * Success. The details of the subscription offering are returned.\n */\n 200: {\n data?: Offering\n included?: OfferingIncludes\n }\n}\n\nexport type GetOfferingResponse =\n GetOfferingResponses[keyof GetOfferingResponses]\n\nexport type ListOfferingPricingOptionsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the offering.\n */\n offering_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/offerings/{offering_uuid}/pricing-options\"\n}\n\nexport type ListOfferingPricingOptionsErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListOfferingPricingOptionsError =\n ListOfferingPricingOptionsErrors[keyof ListOfferingPricingOptionsErrors]\n\nexport type ListOfferingPricingOptionsResponses = {\n /**\n * Success. A list of pricing options attached with the offering is returned.\n */\n 200: {\n data?: Array<OfferingPricingOption>\n links?: Links2\n }\n}\n\nexport type ListOfferingPricingOptionsResponse =\n ListOfferingPricingOptionsResponses[keyof ListOfferingPricingOptionsResponses]\n\nexport type ListOfferingFeaturesData = {\n body?: never\n path: {\n /**\n * The unique identifier of the offering.\n */\n offering_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/offerings/{offering_uuid}/features\"\n}\n\nexport type ListOfferingFeaturesErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListOfferingFeaturesError =\n ListOfferingFeaturesErrors[keyof ListOfferingFeaturesErrors]\n\nexport type ListOfferingFeaturesResponses = {\n /**\n * Success. A list of subscription features attached to the offering is returned.\n */\n 200: {\n data?: Array<OfferingFeature>\n links?: Links2\n }\n}\n\nexport type ListOfferingFeaturesResponse =\n ListOfferingFeaturesResponses[keyof ListOfferingFeaturesResponses]\n\nexport type ListOfferingPlansData = {\n body?: never\n path: {\n /**\n * The unique identifier of the offering.\n */\n offering_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/offerings/{offering_uuid}/plans\"\n}\n\nexport type ListOfferingPlansErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListOfferingPlansError =\n ListOfferingPlansErrors[keyof ListOfferingPlansErrors]\n\nexport type ListOfferingPlansResponses = {\n /**\n * Success. A list of subscription plans attached to the offering is returned.\n */\n 200: {\n data?: Array<OfferingPlan>\n links?: Links2\n }\n}\n\nexport type ListOfferingPlansResponse =\n ListOfferingPlansResponses[keyof ListOfferingPlansResponses]\n\nexport type ListOfferingPlanPricingOptionsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the offering.\n */\n offering_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the plan.\n */\n plan_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/offerings/{offering_uuid}/plans/{plan_uuid}/relationships/pricing_options\"\n}\n\nexport type ListOfferingPlanPricingOptionsErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListOfferingPlanPricingOptionsError =\n ListOfferingPlanPricingOptionsErrors[keyof ListOfferingPlanPricingOptionsErrors]\n\nexport type ListOfferingPlanPricingOptionsResponses = {\n /**\n * Success. The pricing option relationships are returned\n */\n 200: {\n data?: Array<RelationshipData>\n }\n}\n\nexport type ListOfferingPlanPricingOptionsResponse =\n ListOfferingPlanPricingOptionsResponses[keyof ListOfferingPlanPricingOptionsResponses]\n\nexport type ListSubscriptionsData = {\n body?: never\n path?: never\n query?: {\n /**\n * Some Subscriptions API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\n filter?: string\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n /**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\n include?: Array<\"plans\" | \"pricing_options\">\n }\n url: \"/v2/subscriptions/subscriptions\"\n}\n\nexport type ListSubscriptionsErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListSubscriptionsError =\n ListSubscriptionsErrors[keyof ListSubscriptionsErrors]\n\nexport type ListSubscriptionsResponses = {\n /**\n * Success. A list of subscriptions is returned.\n */\n 200: {\n data?: Array<Subscription>\n included?: SubscriptionIncludes\n links?: Links2\n }\n}\n\nexport type ListSubscriptionsResponse =\n ListSubscriptionsResponses[keyof ListSubscriptionsResponses]\n\nexport type GetSubscriptionData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * A comma-separated list of resources to include. See [Characteristics of Include Parameter](/guides/Getting-Started/includes#characteristics-of-include-parameter).\n */\n include?: Array<\"plans\" | \"pricing_options\">\n }\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}\"\n}\n\nexport type GetSubscriptionErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetSubscriptionError =\n GetSubscriptionErrors[keyof GetSubscriptionErrors]\n\nexport type GetSubscriptionResponses = {\n /**\n * Success. The details of a subscription are returned.\n */\n 200: {\n data?: Subscription\n included?: SubscriptionIncludes\n }\n}\n\nexport type GetSubscriptionResponse =\n GetSubscriptionResponses[keyof GetSubscriptionResponses]\n\nexport type ListSubscriptionPlansData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/plans\"\n}\n\nexport type ListSubscriptionPlansErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListSubscriptionPlansError =\n ListSubscriptionPlansErrors[keyof ListSubscriptionPlansErrors]\n\nexport type ListSubscriptionPlansResponses = {\n /**\n * Success. A list of subscription plans is returned.\n */\n 200: {\n data?: Array<OfferingPlan>\n }\n}\n\nexport type ListSubscriptionPlansResponse =\n ListSubscriptionPlansResponses[keyof ListSubscriptionPlansResponses]\n\nexport type ListSubscriptionPricingOptionsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/pricing-options\"\n}\n\nexport type ListSubscriptionPricingOptionsErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListSubscriptionPricingOptionsError =\n ListSubscriptionPricingOptionsErrors[keyof ListSubscriptionPricingOptionsErrors]\n\nexport type ListSubscriptionPricingOptionsResponses = {\n /**\n * Success. A list of subscription pricing options is returned.\n */\n 200: {\n data?: Array<OfferingPricingOption>\n }\n}\n\nexport type ListSubscriptionPricingOptionsResponse =\n ListSubscriptionPricingOptionsResponses[keyof ListSubscriptionPricingOptionsResponses]\n\nexport type ListSubscriptionStatesData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/states\"\n}\n\nexport type ListSubscriptionStatesErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListSubscriptionStatesError =\n ListSubscriptionStatesErrors[keyof ListSubscriptionStatesErrors]\n\nexport type ListSubscriptionStatesResponses = {\n /**\n * Success. A list of subscription states is returned.\n */\n 200: {\n data?: Array<SubscriptionState>\n }\n}\n\nexport type ListSubscriptionStatesResponse =\n ListSubscriptionStatesResponses[keyof ListSubscriptionStatesResponses]\n\nexport type CreateSubscriptionStateData = {\n body?: {\n data: ChangeState\n }\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/states\"\n}\n\nexport type CreateSubscriptionStateErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type CreateSubscriptionStateError =\n CreateSubscriptionStateErrors[keyof CreateSubscriptionStateErrors]\n\nexport type CreateSubscriptionStateResponses = {\n /**\n * Success. The subscription's state has changed.\n */\n 204: void\n}\n\nexport type CreateSubscriptionStateResponse =\n CreateSubscriptionStateResponses[keyof CreateSubscriptionStateResponses]\n\nexport type GetSubscriptionStateData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the subscription state.\n */\n state_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/states/{state_uuid}\"\n}\n\nexport type GetSubscriptionStateErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetSubscriptionStateError =\n GetSubscriptionStateErrors[keyof GetSubscriptionStateErrors]\n\nexport type GetSubscriptionStateResponses = {\n /**\n * Success. A subscription state is returned.\n */\n 200: {\n data?: SubscriptionState\n }\n}\n\nexport type GetSubscriptionStateResponse =\n GetSubscriptionStateResponses[keyof GetSubscriptionStateResponses]\n\nexport type ListSubscriptionInvoicesData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/invoices\"\n}\n\nexport type ListSubscriptionInvoicesErrors = {\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListSubscriptionInvoicesError =\n ListSubscriptionInvoicesErrors[keyof ListSubscriptionInvoicesErrors]\n\nexport type ListSubscriptionInvoicesResponses = {\n /**\n * Success. A list of invoices is returned.\n */\n 200: {\n data?: Array<SubscriptionInvoice>\n links?: Links2\n }\n}\n\nexport type ListSubscriptionInvoicesResponse =\n ListSubscriptionInvoicesResponses[keyof ListSubscriptionInvoicesResponses]\n\nexport type ListSubscriptionInvoicePaymentsData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the invoice.\n */\n invoice_uuid: SubscriptionsUuid\n }\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/invoices/{invoice_uuid}/payments\"\n}\n\nexport type ListSubscriptionInvoicePaymentsResponses = {\n /**\n * Success. Payments for the invoice are returned.\n */\n 200: {\n data?: Array<SubscriptionInvoicePayment>\n links?: Links2\n }\n}\n\nexport type ListSubscriptionInvoicePaymentsResponse =\n ListSubscriptionInvoicePaymentsResponses[keyof ListSubscriptionInvoicePaymentsResponses]\n\nexport type GetSubscriptionInvoicePaymentData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the invoice.\n */\n invoice_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the payment.\n */\n payment_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/invoices/{invoice_uuid}/payments/{payment_uuid}\"\n}\n\nexport type GetSubscriptionInvoicePaymentErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n}\n\nexport type GetSubscriptionInvoicePaymentError =\n GetSubscriptionInvoicePaymentErrors[keyof GetSubscriptionInvoicePaymentErrors]\n\nexport type GetSubscriptionInvoicePaymentResponses = {\n /**\n * Success. Specific payment for the invoice is returned.\n */\n 200: {\n data?: SubscriptionInvoicePayment\n }\n}\n\nexport type GetSubscriptionInvoicePaymentResponse =\n GetSubscriptionInvoicePaymentResponses[keyof GetSubscriptionInvoicePaymentResponses]\n\nexport type GetSubscriptionInvoiceData = {\n body?: never\n path: {\n /**\n * The unique identifier of the subscription.\n */\n subscription_uuid: SubscriptionsUuid\n /**\n * The unique identifier of the invoice.\n */\n invoice_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/subscriptions/{subscription_uuid}/invoices/{invoice_uuid}\"\n}\n\nexport type GetSubscriptionInvoiceErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetSubscriptionInvoiceError =\n GetSubscriptionInvoiceErrors[keyof GetSubscriptionInvoiceErrors]\n\nexport type GetSubscriptionInvoiceResponses = {\n /**\n * Success. An invoice is returned.\n */\n 200: {\n data?: SubscriptionInvoice\n }\n}\n\nexport type GetSubscriptionInvoiceResponse =\n GetSubscriptionInvoiceResponses[keyof GetSubscriptionInvoiceResponses]\n\nexport type ListInvoicesData = {\n body?: never\n path?: never\n query?: {\n /**\n * Some Subscriptions API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\n filter?: string\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: BigInt\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [page length](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: BigInt\n }\n url: \"/v2/subscriptions/invoices\"\n}\n\nexport type ListInvoicesErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type ListInvoicesError = ListInvoicesErrors[keyof ListInvoicesErrors]\n\nexport type ListInvoicesResponses = {\n /**\n * Success. A list of invoices is returned.\n */\n 200: {\n data?: Array<SubscriptionInvoice>\n links?: Links2\n }\n}\n\nexport type ListInvoicesResponse =\n ListInvoicesResponses[keyof ListInvoicesResponses]\n\nexport type GetInvoiceData = {\n body?: never\n path: {\n /**\n * The unique identifier of the invoice.\n */\n invoice_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/invoices/{invoice_uuid}\"\n}\n\nexport type GetInvoiceErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetInvoiceError = GetInvoiceErrors[keyof GetInvoiceErrors]\n\nexport type GetInvoiceResponses = {\n /**\n * Success. The details of the invoice are returned.\n */\n 200: {\n data?: SubscriptionInvoice\n }\n}\n\nexport type GetInvoiceResponse = GetInvoiceResponses[keyof GetInvoiceResponses]\n\nexport type GetFeatureData = {\n body?: never\n path: {\n /**\n * The unique identifier of a feature.\n */\n feature_uuid: SubscriptionsUuid\n }\n query?: never\n url: \"/v2/subscriptions/features/{feature_uuid}\"\n}\n\nexport type GetFeatureErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: SubscriptionsErrorResponse\n /**\n * Not found. The requested entity does not exist.\n */\n 404: SubscriptionsErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: SubscriptionsErrorResponse\n}\n\nexport type GetFeatureError = GetFeatureErrors[keyof GetFeatureErrors]\n\nexport type GetFeatureResponses = {\n /**\n * Success. The feature details are returned.\n */\n 200: {\n data?: Feature\n }\n}\n\nexport type GetFeatureResponse = GetFeatureResponses[keyof GetFeatureResponses]\n\nexport type GetStockData = {\n body?: never\n path: {\n /**\n * The unique identifier of the product.\n */\n product_uuid: InventoriesUuid\n }\n query?: never\n url: \"/v2/inventories/{product_uuid}\"\n}\n\nexport type GetStockErrors = {\n /**\n * Not found. The requested entity does not exist.\n */\n 404: InventoriesErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: InventoriesErrorResponse\n}\n\nexport type GetStockError = GetStockErrors[keyof GetStockErrors]\n\nexport type GetStockResponses = {\n /**\n * Success. Returns the stock for the given product UUID\n */\n 200: {\n data: StockResponse\n }\n}\n\nexport type GetStockResponse = GetStockResponses[keyof GetStockResponses]\n\nexport type ListLocationsData = {\n body?: never\n path?: never\n query?: {\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [**page length**](https://elasticpath.dev/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: number\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the the [**page length**](https://elasticpath.dev/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: number\n /**\n * Some Inventories API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.\n *\n */\n filter?: string\n }\n url: \"/v2/inventories/locations\"\n}\n\nexport type ListLocationsErrors = {\n /**\n * Bad request. The request failed validation.\n */\n 400: InventoriesErrorResponse\n}\n\nexport type ListLocationsError = ListLocationsErrors[keyof ListLocationsErrors]\n\nexport type ListLocationsResponses = {\n /**\n * Success. A list of locations is returned\n */\n 200: {\n data?: Array<Location>\n links?: Links2\n }\n}\n\nexport type ListLocationsResponse =\n ListLocationsResponses[keyof ListLocationsResponses]\n\nexport type CreateAnAccessTokenData = {\n body?: AccessTokenRequest\n path?: never\n query?: never\n url: \"/oauth/access_token\"\n}\n\nexport type CreateAnAccessTokenErrors = {\n /**\n * Bad Request\n */\n 400: ErrorResponse2\n /**\n * Unauthorized\n */\n 401: ErrorResponse2\n /**\n * Internal server error. There was a system failure in the platform.\n */\n default: ErrorResponse2\n}\n\nexport type CreateAnAccessTokenError =\n CreateAnAccessTokenErrors[keyof CreateAnAccessTokenErrors]\n\nexport type CreateAnAccessTokenResponses = {\n /**\n * OK\n */\n 200: AccessTokenResponse\n}\n\nexport type CreateAnAccessTokenResponse =\n CreateAnAccessTokenResponses[keyof CreateAnAccessTokenResponses]\n\nexport type GetV2AccountAddressesData = {\n body?: never\n path: {\n /**\n * The ID of the account you want to retrieve.\n */\n accountID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}/addresses\"\n}\n\nexport type GetV2AccountAddressesErrors = {\n /**\n * Not Found\n */\n 404: AccountAddressesErrorResponse\n}\n\nexport type GetV2AccountAddressesError =\n GetV2AccountAddressesErrors[keyof GetV2AccountAddressesErrors]\n\nexport type GetV2AccountAddressesResponses = {\n /**\n * OK\n */\n 200: {\n data?: Array<AccountAddressResponse>\n }\n}\n\nexport type GetV2AccountAddressesResponse =\n GetV2AccountAddressesResponses[keyof GetV2AccountAddressesResponses]\n\nexport type PostV2AccountAddressData = {\n body?: {\n data: Address\n }\n path: {\n /**\n * The ID of the account you want to create an address for.\n */\n accountID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}/addresses\"\n}\n\nexport type PostV2AccountAddressErrors = {\n /**\n * Bad Request\n */\n 400: AccountAddressesErrorResponse\n /**\n * Not Found\n */\n 404: AccountAddressesErrorResponse\n}\n\nexport type PostV2AccountAddressError =\n PostV2AccountAddressErrors[keyof PostV2AccountAddressErrors]\n\nexport type PostV2AccountAddressResponses = {\n /**\n * OK\n */\n 200: {\n data?: AccountAddressResponse\n }\n}\n\nexport type PostV2AccountAddressResponse =\n PostV2AccountAddressResponses[keyof PostV2AccountAddressResponses]\n\nexport type DeleteV2AccountAddressData = {\n body?: never\n path: {\n /**\n * The ID of the account that contains the address to delete.\n */\n accountID: string\n /**\n * The ID of the address to delete.\n */\n addressID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}/addresses/{addressID}\"\n}\n\nexport type DeleteV2AccountAddressErrors = {\n /**\n * Not Found\n */\n 404: AccountAddressesErrorResponse\n}\n\nexport type DeleteV2AccountAddressError =\n DeleteV2AccountAddressErrors[keyof DeleteV2AccountAddressErrors]\n\nexport type DeleteV2AccountAddressResponses = {\n /**\n * No Content\n */\n 204: void\n}\n\nexport type DeleteV2AccountAddressResponse =\n DeleteV2AccountAddressResponses[keyof DeleteV2AccountAddressResponses]\n\nexport type GetV2AccountAddressData = {\n body?: never\n path: {\n /**\n * The ID of the account you want to retrieve.\n */\n accountID: string\n /**\n * The ID of the address you want to retrieve.\n */\n addressID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}/addresses/{addressID}\"\n}\n\nexport type GetV2AccountAddressErrors = {\n /**\n * Not Found\n */\n 404: AccountAddressesErrorResponse\n}\n\nexport type GetV2AccountAddressError =\n GetV2AccountAddressErrors[keyof GetV2AccountAddressErrors]\n\nexport type GetV2AccountAddressResponses = {\n /**\n * OK\n */\n 200: {\n data?: AccountAddressResponse\n }\n}\n\nexport type GetV2AccountAddressResponse =\n GetV2AccountAddressResponses[keyof GetV2AccountAddressResponses]\n\nexport type PutV2AccountAddressData = {\n body?: {\n data: Address\n }\n path: {\n /**\n * The ID of the account you want to create an address for.\n */\n accountID: string\n /**\n * The ID of the address you want to update.\n */\n addressID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}/addresses/{addressID}\"\n}\n\nexport type PutV2AccountAddressErrors = {\n /**\n * Bad Request\n */\n 400: AccountAddressesErrorResponse\n /**\n * Not Found\n */\n 404: AccountAddressesErrorResponse\n}\n\nexport type PutV2AccountAddressError =\n PutV2AccountAddressErrors[keyof PutV2AccountAddressErrors]\n\nexport type PutV2AccountAddressResponses = {\n /**\n * OK\n */\n 200: {\n data?: AccountAddressResponse\n }\n}\n\nexport type PutV2AccountAddressResponse =\n PutV2AccountAddressResponses[keyof PutV2AccountAddressResponses]\n\nexport type GetV2AccountsData = {\n body?: never\n path?: never\n query?: {\n /**\n * Specifies the filter attributes.\n */\n filter?: string\n /**\n * The number of records per page.\n */\n \"page[limit]\"?: BigInt\n /**\n * The number of records to offset the results by.\n */\n \"page[offset]\"?: BigInt\n /**\n * Supported attributes are `created_at`, `email`, `id`, `name`, or `updated_at`. When specified, the results are sorted in ascending order based on the value of the field. To sort in descending order, prefix the attribute with `-`, for example, `-updated_at`. The default sort order is `created_at` in descending order. For more information, see [Sorting](/guides/Getting-Started/sorting).\n */\n sort?: string\n }\n url: \"/v2/accounts\"\n}\n\nexport type GetV2AccountsErrors = {\n /**\n * Unauthorized\n */\n 401: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type GetV2AccountsError = GetV2AccountsErrors[keyof GetV2AccountsErrors]\n\nexport type GetV2AccountsResponses = {\n /**\n * OK\n */\n 200: {\n data?: Array<AccountResponse>\n meta?: MetaList\n links?: {\n /**\n * Always the current page.\n */\n current?: string\n /**\n * Always the first page.\n */\n first?: string\n /**\n * Always `null` if there is only one page.\n */\n last?: string\n /**\n * Always `null` if there is only one page.\n */\n next?: string\n /**\n * Always `null` if the user is on the first page.\n */\n prev?: string\n }\n }\n}\n\nexport type GetV2AccountsResponse =\n GetV2AccountsResponses[keyof GetV2AccountsResponses]\n\nexport type PostV2AccountsData = {\n body?: {\n data: Account & WritableParentId\n }\n path?: never\n query?: never\n url: \"/v2/accounts\"\n}\n\nexport type PostV2AccountsErrors = {\n /**\n * Bad Request\n */\n 400: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type PostV2AccountsError =\n PostV2AccountsErrors[keyof PostV2AccountsErrors]\n\nexport type PostV2AccountsResponses = {\n /**\n * Created\n */\n 201: {\n data?: AccountResponse\n }\n}\n\nexport type PostV2AccountsResponse =\n PostV2AccountsResponses[keyof PostV2AccountsResponses]\n\nexport type GetV2AccountsAccountIdData = {\n body?: never\n path: {\n /**\n * The ID of the account you want to retrieve.\n */\n accountID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}\"\n}\n\nexport type GetV2AccountsAccountIdErrors = {\n /**\n * Not Found\n */\n 404: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type GetV2AccountsAccountIdError =\n GetV2AccountsAccountIdErrors[keyof GetV2AccountsAccountIdErrors]\n\nexport type GetV2AccountsAccountIdResponses = {\n /**\n * OK\n */\n 200: {\n data?: AccountResponse\n }\n}\n\nexport type GetV2AccountsAccountIdResponse =\n GetV2AccountsAccountIdResponses[keyof GetV2AccountsAccountIdResponses]\n\nexport type PutV2AccountsAccountIdData = {\n body?: {\n data: Account & ReadOnlyParentId\n }\n path: {\n /**\n * The ID of the account you want to retrieve.\n */\n accountID: string\n }\n query?: never\n url: \"/v2/accounts/{accountID}\"\n}\n\nexport type PutV2AccountsAccountIdErrors = {\n /**\n * Bad Request\n */\n 400: {\n errors?: Array<{\n detail?: string\n status?: string\n title?: string\n }>\n }\n /**\n * Not Found\n */\n 404: {\n errors?: Array<{\n detail?: string\n status?: string\n title?: string\n }>\n }\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type PutV2AccountsAccountIdError =\n PutV2AccountsAccountIdErrors[keyof PutV2AccountsAccountIdErrors]\n\nexport type PutV2AccountsAccountIdResponses = {\n /**\n * OK\n */\n 200: {\n data?: {\n /**\n * The unique identifier for an Account.\n */\n id?: string\n /**\n * The type of the object returned. Always use account.\n */\n type?: string\n /**\n * The name of the account.\n */\n name?: string\n /**\n * The legal name of the account.\n */\n legal_name?: string\n /**\n * The registration ID of the account. The maximum character limit for this field is 63.\n */\n registration_id?: string\n /**\n * The optional external ID reference. For example, this could be an external reference from a separate company system. The maximum length is 2048 characters. Default is null.\n */\n external_ref?: string\n meta?: {\n timestamps?: {\n /**\n * The date the account is created.\n */\n created_at?: Date\n /**\n * The date the account is last updated.\n */\n updated_at?: Date\n }\n }\n links?: {\n /**\n * A URL to the specific resource.\n */\n self?: string\n }\n }\n }\n}\n\nexport type PutV2AccountsAccountIdResponse =\n PutV2AccountsAccountIdResponses[keyof PutV2AccountsAccountIdResponses]\n\nexport type GetV2AccountMembersData = {\n body?: never\n path?: never\n query?: {\n /**\n * The number of records per page.\n */\n \"page[limit]\"?: BigInt\n /**\n * The number of records to offset the results by.\n */\n \"page[offset]\"?: BigInt\n /**\n * Supported attributes are `created_at`, `email`, `id`, `name`, or `updated_at`. When specified, the results are sorted in ascending order based on the value of the field. To sort in descending order, prefix the attribute with `-`, for example, `-updated_at`. The default sort order is `created_at` in descending order. For more information, see [Sorting](/guides/Getting-Started/sorting).\n */\n sort?: string\n /**\n * Specifies the filter attributes.\n */\n filter?: string\n }\n url: \"/v2/account-members\"\n}\n\nexport type GetV2AccountMembersErrors = {\n /**\n * Unauthorized\n */\n 401: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type GetV2AccountMembersError =\n GetV2AccountMembersErrors[keyof GetV2AccountMembersErrors]\n\nexport type GetV2AccountMembersResponses = {\n /**\n * OK\n */\n 200: {\n data?: Array<AccountMemberResponse>\n meta?: MetaList\n links?: {\n /**\n * Always the current page.\n */\n current?: string\n /**\n * Always the first page.\n */\n first?: string\n /**\n * Always `null` if there is only one page.\n */\n last?: string\n /**\n * Always `null` if there is only one page.\n */\n next?: string\n /**\n * Always `null` if the user is on the first page.\n */\n prev?: string\n }\n }\n}\n\nexport type GetV2AccountMembersResponse =\n GetV2AccountMembersResponses[keyof GetV2AccountMembersResponses]\n\nexport type GetV2AccountMembersAccountMemberIdData = {\n body?: never\n path: {\n /**\n * The unique identifier of the account member that you want to retrieve.\n */\n accountMemberID: string\n }\n query?: never\n url: \"/v2/account-members/{accountMemberID}\"\n}\n\nexport type GetV2AccountMembersAccountMemberIdErrors = {\n /**\n * Not Found\n */\n 404: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type GetV2AccountMembersAccountMemberIdError =\n GetV2AccountMembersAccountMemberIdErrors[keyof GetV2AccountMembersAccountMemberIdErrors]\n\nexport type GetV2AccountMembersAccountMemberIdResponses = {\n /**\n * OK\n */\n 200: {\n data?: AccountMemberResponse\n }\n}\n\nexport type GetV2AccountMembersAccountMemberIdResponse =\n GetV2AccountMembersAccountMemberIdResponses[keyof GetV2AccountMembersAccountMemberIdResponses]\n\nexport type GetV2AccountsAccountIdAccountMembershipsData = {\n body?: never\n path: {\n /**\n * The ID of the account for which you want to get the list of unassigned account members.\n */\n accountID: string\n }\n query?: {\n /**\n * Specifies the filter attributes.\n */\n filter?: string\n /**\n * Supported attributes are `created_at`, `email`, `id`, `name`, or `updated_at`. When specified, the results are sorted in ascending order based on the value of the field. To sort in descending order, prefix the attribute with `-`, for example, `-updated_at`. The default sort order is `created_at` in descending order. For more information, see [Sorting](/guides/Getting-Started/sorting).\n */\n sort?: string\n /**\n * The number of records per page.\n */\n \"page[limit]\"?: BigInt\n /**\n * The number of records to offset the results by.\n */\n \"page[offset]\"?: BigInt\n /**\n * Parameter to retrieve more information about any related resources like account members.\n */\n include?: string\n }\n url: \"/v2/accounts/{accountID}/account-memberships\"\n}\n\nexport type GetV2AccountsAccountIdAccountMembershipsErrors = {\n /**\n * Not Found\n */\n 404: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type GetV2AccountsAccountIdAccountMembershipsError =\n GetV2AccountsAccountIdAccountMembershipsErrors[keyof GetV2AccountsAccountIdAccountMembershipsErrors]\n\nexport type GetV2AccountsAccountIdAccountMembershipsResponses = {\n /**\n * OK\n */\n 200: {\n data?: Array<AccountMembershipResponse>\n meta?: MetaList\n links?: {\n /**\n * Always the current page.\n */\n current?: string\n /**\n * Always the first page.\n */\n first?: string\n /**\n * Always `null` if there is only one page.\n */\n last?: string\n /**\n * Always `null` if there is only one page.\n */\n next?: string\n /**\n * Always `null` if the user is on the first page.\n */\n prev?: string\n }\n }\n}\n\nexport type GetV2AccountsAccountIdAccountMembershipsResponse =\n GetV2AccountsAccountIdAccountMembershipsResponses[keyof GetV2AccountsAccountIdAccountMembershipsResponses]\n\nexport type PostV2AccountMembersTokensData = {\n body?: {\n data:\n | ({\n authentication_mechanism?: \"oidc\"\n } & OpenIdConnectRequest)\n | ({\n authentication_mechanism?: \"password\"\n } & PasswordRequest)\n | ({\n authentication_mechanism?: \"passwordless\"\n } & PasswordlessRequest)\n | ({\n authentication_mechanism?: \"self_signup\"\n } & SelfSignupRequest)\n | ({\n authentication_mechanism?: \"account_management_authentication_token\"\n } & SwitchingAccountRequest)\n }\n path?: never\n query?: never\n url: \"/v2/account-members/tokens\"\n}\n\nexport type PostV2AccountMembersTokensErrors = {\n /**\n * Unauthorized\n */\n 401: AccountManagementErrorResponse\n /**\n * Internal server error.\n */\n default: AccountManagementErrorResponse\n}\n\nexport type PostV2AccountMembersTokensError =\n PostV2AccountMembersTokensErrors[keyof PostV2AccountMembersTokensErrors]\n\nexport type PostV2AccountMembersTokensResponses = {\n /**\n * Created\n */\n 201: {\n data?: Array<AccountManagementAuthenticationTokenResponse>\n meta?: MetaList & {\n account_member_id?: MetaAccountMemberId\n }\n links?: {\n /**\n * Always the current page.\n */\n current?: string\n /**\n * Always the first page.\n */\n first?: string\n /**\n * Always `null` if there is only one page.\n */\n last?: string\n /**\n * Always `null` if there is only one page.\n */\n next?: string\n /**\n * Always `null` if the user is on the first page.\n */\n prev?: string\n }\n }\n}\n\nexport type PostV2AccountMembersTokensResponse =\n PostV2AccountMembersTokensResponses[keyof PostV2AccountMembersTokensResponses]\n\nexport type CreateOneTimePasswordTokenRequestData = {\n /**\n * Request body for one-time password token.\n */\n body: OneTimePasswordTokenRequest\n path: {\n realmId: string\n passwordProfileId: string\n }\n query?: never\n url: \"/v2/authentication-realms/{realmId}/password-profiles/{passwordProfileId}/one-time-password-token-request\"\n}\n\nexport type CreateOneTimePasswordTokenRequestResponses = {\n /**\n * One-time password token response.\n */\n 202: unknown\n}\n\nexport type UpdatePasswordProfileInfoData = {\n /**\n * The updated password profile info.\n */\n body: PasswordProfileInfoUpdateRequestWrapper\n path: {\n realmId: string\n userAuthenticationInfoId: string\n userAuthenticationPasswordProfileInfoId: string\n }\n query?: never\n url: \"/v2/authentication-realms/{realmId}/user-authentication-info/{userAuthenticationInfoId}/user-authentication-password-profile-info/{userAuthenticationPasswordProfileInfoId}\"\n}\n\nexport type UpdatePasswordProfileInfoErrors = {\n /**\n * Password profile info not found.\n */\n 404: unknown\n}\n\nexport type UpdatePasswordProfileInfoResponses = {\n /**\n * Updated password profile info.\n */\n 200: PasswordProfileInfoResponse\n}\n\nexport type UpdatePasswordProfileInfoResponse =\n UpdatePasswordProfileInfoResponses[keyof UpdatePasswordProfileInfoResponses]\n\nexport type GetAllCurrenciesData = {\n body?: never\n path?: never\n query?: {\n /**\n * The number of records to offset the results by.\n */\n \"page[offset]\"?: string\n /**\n * The number of records per page.\n */\n \"page[limit]\"?: string\n }\n url: \"/v2/currencies\"\n}\n\nexport type GetAllCurrenciesErrors = {\n /**\n * Unauthorized\n */\n 401: ResponseError\n}\n\nexport type GetAllCurrenciesError =\n GetAllCurrenciesErrors[keyof GetAllCurrenciesErrors]\n\nexport type GetAllCurrenciesResponses = {\n /**\n * OK\n */\n 200: ResponseData & {\n data?: Array<ResponseCurrency>\n }\n}\n\nexport type GetAllCurrenciesResponse =\n GetAllCurrenciesResponses[keyof GetAllCurrenciesResponses]\n\nexport type GetACurrencyData = {\n body?: never\n path: {\n /**\n * The ID for the requested currency.\n */\n currencyID: string\n }\n query?: never\n url: \"/v2/currencies/{currencyID}\"\n}\n\nexport type GetACurrencyErrors = {\n /**\n * Unauthorized\n */\n 401: ResponseError\n}\n\nexport type GetACurrencyError = GetACurrencyErrors[keyof GetACurrencyErrors]\n\nexport type GetACurrencyResponses = {\n /**\n * OK\n */\n 200: ResponseData & {\n data?: Array<ResponseCurrency>\n }\n}\n\nexport type GetACurrencyResponse =\n GetACurrencyResponses[keyof GetACurrencyResponses]\n\nexport type GetAllFilesData = {\n body?: never\n path?: never\n query?: {\n /**\n *\n * Filtering is available for this endpoint. See [Filtering](/docs/api/pxm/files/get-all-files#filtering).\n *\n */\n filter?: string\n /**\n * The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the the [**page length**](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[limit]\"?: string\n /**\n * The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [**page length**](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.\n */\n \"page[offset]\"?: string\n }\n url: \"/v2/files\"\n}\n\nexport type GetAllFilesErrors = {\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: FilesErrorResponse\n}\n\nexport type GetAllFilesError = GetAllFilesErrors[keyof GetAllFilesErrors]\n\nexport type GetAllFilesResponses = {\n /**\n * OK\n */\n 200: {\n data?: Array<File>\n meta?: ResultsMeta\n links?: ResultsLinks\n }\n}\n\nexport type GetAllFilesResponse =\n GetAllFilesResponses[keyof GetAllFilesResponses]\n\nexport type GetAFileData = {\n body?: never\n path: {\n /**\n * The unique identifier for a file.\n */\n fileID: string\n }\n query?: never\n url: \"/v2/files/{fileID}\"\n}\n\nexport type GetAFileErrors = {\n /**\n * Forbidden. The operation is forbidden on this entity.\n */\n 404: FilesErrorResponse\n /**\n * Internal server error. There was a system failure in the platform.\n */\n 500: FilesErrorResponse\n}\n\nexport type GetAFileError = GetAFileErrors[keyof GetAFileErrors]\n\nexport type GetAFileResponses = {\n 200: {\n data?: File\n }\n}\n\nexport type GetAFileResponse = GetAFileResponses[keyof GetAFileResponses]\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}