/** * This file was auto-generated by openapi-typescript and ts-morph. * Do not make direct changes to the file. */ export interface paths { readonly "/carts": { readonly parameters: { readonly query?: { /** @description To return product options add one of the following include: * * `lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options,lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return. */ readonly include?: components["parameters"]["Include"]; }; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; }; readonly path?: never; readonly cookie?: never; }; /** * Get a Cart * @description Returns a *Cart*. * * > #### Note * > * Substitute your storefront domain for `yourstore.example.com`. * > * The Send a Test Request feature is not currently supported for this endpoint. */ readonly get: operations["getCart"]; /** * Create a Cart * @description Creates a *Cart*. * * > #### Note * > * Substitute your storefront domain for `yourstore.example.com`. * > * The Send a Test Request feature is not currently supported for this endpoint. */ readonly post: operations["createCart"]; }; readonly "/carts/{cartId}": { readonly parameters: { readonly query?: never; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; }; readonly path: { /** @description This cartʼs unique ID. */ readonly cartId: components["parameters"]["CartIdPath"]; }; readonly cookie?: never; }; /** * Delete a Cart * @description Deletes a *Cart*. Once a *Cart* has been deleted it can not be recovered. * * * > #### Note * > * Substitute your storefront domain for `yourstore.example.com`. * > * The Send a Test Request feature is not currently supported for this endpoint. */ readonly delete: operations["deleteCart"]; }; readonly "/carts/{cartId}/items": { readonly parameters: { readonly query?: { /** @description To return product options add one of the following include: * * `lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options,lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return. */ readonly include?: components["parameters"]["Include"]; }; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly "Content-Type": components["parameters"]["ContentType"]; }; readonly path: { /** @description This cartʼs unique ID. */ readonly cartId: components["parameters"]["CartIdPath"]; }; readonly cookie?: never; }; /** * Add Cart Line Items * @description Adds a line items to the *Cart*. * * > #### Notes * > * Substitute your storefront domain for `yourstore.example.com`. * > * The Send a Test Request feature is not currently supported for this endpoint. * > * To prevent lost updates due to concurrent requests overriding changes made by others, it is recommended to enable optimistic concurrency control by including the `version` field in the request payload. If the provided version does not match the version on the server, a conflict error will be returned, which the client can handle accordingly. */ readonly post: operations["addCartLineItem"]; }; readonly "/carts/{cartId}/items/{itemId}": { readonly parameters: { readonly query?: { /** @description To return product options add one of the following include: * * `lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options,lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return. */ readonly include?: components["parameters"]["Include"]; }; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; }; readonly path: { /** @description This cartʼs unique ID. */ readonly cartId: components["parameters"]["CartIdPath"]; /** @description The ID of the subject item. */ readonly itemId: components["parameters"]["ItemIdPath"]; }; readonly cookie?: never; }; /** * Update Cart Line Item * @description Updates a *Cart* line item. Updates an existing, single line item quantity and the price of custom items in a cart. * * If a modified product or variant needs to be changed or updated, you can remove and re-add the product to the cart with the correct variants using the [Delete Cart Line Item](/docs/rest-storefront/carts/cart-items#delete-cart-line-item) and the [Add Cart Line Items](/docs/rest-storefront/carts/cart-items#add-cart-line-items) endpoints. You can also use carts mutations that are part of the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront). * * * > #### Notes * > * Substitute your storefront domain for `yourstore.example.com`. * > * The Send a Test Request feature is not currently supported for this endpoint. * > * To prevent lost updates due to concurrent requests overriding changes made by others, it is recommended to enable optimistic concurrency control by including the `version` field in the request payload. If the provided version does not match the version on the server, a conflict error will be returned, which the client can handle accordingly. */ readonly put: operations["updateCartLineItem"]; /** * Delete Cart Line Item * @description Deletes a *Cart* line item. * * Removing the last `line_item` in the *Cart* deletes the *Cart*. * * > #### Note * > * Substitute your storefront domain for `yourstore.example.com`. * > * The Send a Test Request feature is not currently supported for this endpoint. * > * To prevent lost updates due to concurrent requests overriding changes made by others, it is recommended to enable optimistic concurrency control by including the `version` field in the request payload. If the provided version does not match the version on the server, a conflict error will be returned, which the client can handle accordingly. */ readonly delete: operations["deleteCartLineItem"]; }; readonly "/carts/{cartId}/currency": { readonly parameters: { readonly query?: never; readonly header: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: components["parameters"]["Accept"]; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly "Content-Type": components["parameters"]["ContentType"]; }; readonly path: { /** @description This cartʼs unique ID. */ readonly cartId: components["parameters"]["CartIdPath"]; }; readonly cookie?: never; }; /** * Update Cart Currency * @description Update currency of the *Cart*. * Promotions and gift certificates that don't apply to the new currency will be removed from your cart. * You cannot update the cart currency if the draft order cart or the cart contains a manual discount. * * > #### Note * > * Substitute your storefront domain for `yourstore.example.com`. * > * The Send a Test Request feature is not currently supported for this endpoint. */ readonly post: operations["updateCartCurrency"]; }; } export type webhooks = Record; export interface components { schemas: { /** Response Cart Coupons */ readonly responseCartCoupons: readonly { /** @description The coupon code. */ readonly code: string; /** @description |Type `int`|Type Name| * |-|-| * |`0`|`per_item_discount`| * |`1`|`percentage_discount`| * |`2`|`per_total_discount`| * |`3`|`shipping_discount`| * |`4`|`free_shipping`| * |`5`|`promotion`| */ readonly couponType?: number; /** * Format: float * @description The discounted amount applied within a given context. */ readonly discountedAmount?: number; /** @description The coupon name displayed on the storefront. */ readonly displayName?: string; /** @description The coupon ID. */ readonly id?: string; }[]; /** responseCartDiscounts */ readonly responseCartDiscounts: readonly { /** * Format: float * @description The discounted amount applied within a given context. */ readonly discountedAmount?: number; /** @description ID of the applied discount. */ readonly id?: string; }[]; /** * Cart Read * @description Cart object used in REST Storefront API cart responses. */ readonly responseCart: { /** * Format: UUID * @description Cart ID, provided after creating a cart with a POST. */ readonly id?: string; /** @description ID of the customer to which the cart belongs. */ readonly customerId?: number; /** @description The cart's email. This is the same email that is used in the billing address */ readonly email?: string; readonly currency?: components["schemas"]["responseCartCurrency"]; /** @description Whether this item is taxable. */ readonly isTaxIncluded?: boolean; /** @description Cost of cart’s contents, before applying discounts. */ readonly baseAmount?: number; /** * Format: float * @description Order based discounted amount only - Coupon discounts and product based discounts are excluded. */ readonly discountAmount?: number; /** @description Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes (where applicable). */ readonly cartAmount?: number; readonly coupons?: components["schemas"]["responseCartCoupons"]; readonly discounts?: components["schemas"]["responseCartDiscounts"]; readonly lineItems?: components["schemas"]["responseCartLineItems"]; /** * Format: ISO-8601 * @description Time when the cart was created. */ readonly createdTime?: string; /** * Format: ISO-8601 * @description Time when the cart was last updated. */ readonly updatedTime?: string; /** @description Locale of the cart. */ readonly locale?: string; /** * @description The current version of the cart increments with each successful update. You can use it to enable optimistic concurrency control for subsequent updates. * @example 1 */ readonly version?: number; }; /** * Create Cart Request Object * @description Cart object used in create cart requests. */ readonly requestCart: { readonly lineItems: readonly components["schemas"]["requestCartPostLineItem"][]; readonly locale?: string; } | { readonly giftCertificates: readonly components["schemas"]["requestLineItemGiftCertificate"][]; readonly locale?: string; } | { readonly lineItems: readonly components["schemas"]["requestCartPostLineItem"][]; readonly giftCertificates: readonly components["schemas"]["requestLineItemGiftCertificate"][]; readonly locale?: string; }; /** Gift Wrapping */ readonly responseCartLineItemsPhysicalItemGiftWrapping: { /** * Format: float * @description Gift-wrapping price per product. */ readonly amount?: number; readonly message?: string; /** @description Name of the gift-wrapping option. */ readonly name?: string; } | null; /** Line Item Gift Certificate Request Data */ readonly requestLineItemGiftCertificate: { /** @description Gift-certificate amount. */ readonly amount: number; /** @description Message shown to recipient, as provided by sender. */ readonly message?: string; /** @description Name assigned to this gift-certificate line item. */ readonly name: string; /** @description Quantity of this item. */ readonly quantity: number; readonly recipient: components["schemas"]["requestLineItemGiftCertificateRecipient"]; readonly sender: components["schemas"]["requestLineItemGiftCertificateSender"]; /** @description Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. */ readonly theme: string; }; /** * Gift Wrapping Request Data * @description if passing null, it will remove the current gift wrapping for the item */ readonly requestPostOrPutGiftWrapping: { /** * @description Boolean value that specifies whether items whether items should be wrapped together or wrapped individually. * @example true */ readonly wrapTogether: boolean; /** @description Details for the gift wrapping option selected. This can be specified for each line item or together based on wrapTogether value. * If wrapTogether is false, each element in the wrapDetails array determines each item's specific wrapping. * (e.g if this line item has 6 quantity, you can pass at maximum 6 elements for the array to spefified each one's wrapping) * If wrapTogether is true, we will only use 1st element in the wrapDetails array to determine what to be wrapped */ readonly wrapDetails: readonly { /** * @description Identifier of the gift wrapping option selected. * @example 0 */ readonly id: number; /** * @description Custom gift message. * @example Happy Birthday */ readonly message?: string; }[]; } | null; /** * requestLineItems * @description Cart object used in add items requests. */ readonly LineItemsRequest: { readonly lineItems: readonly components["schemas"]["requestCartPostLineItem"][]; /** * @description The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply. * @example 1 */ readonly version?: number; } | { readonly giftCertificates: readonly components["schemas"]["requestLineItemGiftCertificate"][]; /** * @description The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply. * @example 1 */ readonly version?: number; } | { readonly lineItems: readonly components["schemas"]["requestCartPostLineItem"][]; readonly giftCertificates: readonly components["schemas"]["requestLineItemGiftCertificate"][]; /** * @description The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply. * @example 1 */ readonly version?: number; }; /** requestLineItemPut */ readonly requestLineItemPut: { readonly lineItem: components["schemas"]["requestCartPostLineItem"]; /** * @description The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply. * @example 1 */ readonly version?: number; } | { readonly giftCertificate?: components["schemas"]["requestLineItemGiftCertificate"]; /** * @description The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply. * @example 1 */ readonly version?: number; } | { readonly lineItem: components["schemas"]["requestCartPostLineItem"]; readonly giftCertificate?: components["schemas"]["requestLineItemGiftCertificate"]; /** * @description The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply. * @example 1 */ readonly version?: number; }; readonly requestLineItemDelete: { /** * @description The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply. * @example 1 */ readonly version?: number; }; /** * Currency * @description This will always be the same between cart and checkout. */ readonly responseCartCurrency: { /** * Format: ISO-4217 * @description ISO-4217 currency code. (See: https://www.iso.org/iso-4217-currency-codes.html.) */ readonly code?: string; /** @description The number of decimal places that prices have when you use the currency. */ readonly decimalPlaces?: number; /** * @description The name for the currency that the merchant entered in the control panel. * @example US Dollar */ readonly name?: string; /** * @description The currency symbol displayed on the storefront. * @example $ */ readonly symbol?: string; }; /** Response Line Items Object */ readonly responseCartLineItems: { readonly customItems?: readonly components["schemas"]["responseCartLineItemsCustomItems"][]; /** @description Array of `ItemDigital` objects. */ readonly digitalItems?: readonly components["schemas"]["responseCartLineItemsDigitalItems"][]; /** @description Array of `ItemGiftCertificate` objects. */ readonly giftCertificates?: readonly components["schemas"]["responseCartLineItemsGiftCertificates"][]; /** @description Array of `ItemPhysical` objects. */ readonly physicalItems?: readonly components["schemas"]["responseCartLineItemsItemsPhysicalItemsItems"][]; }; /** * Item Custom * @description **Read Only** * * This will return in the Cart Response if the Cart was created using the [REST Management API](/docs/rest-management/carts). A custom item can only be added to a cart using the REST Management API. */ readonly responseCartLineItemsCustomItems: { readonly extendedListPrice?: number; /** * @description ID of the custom item * @example f1f3a531-fbcf-439b-bac1-40d5ae5c2bff */ readonly id?: string; /** * @description Price of the item. With or without tax depending on your stores set up. * @example 10 */ readonly listPrice?: number; /** * @description Name of the custom item. * @example Custom Item Name */ readonly name?: string; /** @example 1 */ readonly quantity?: number; /** * @description SKU of the custom item. * @example SM-456 */ readonly sku?: string; }; /** Item Digital */ readonly responseCartLineItemsDigitalItems: components["schemas"]["responseCartLineItemsDigitalItemsAllOf0"]; /** Base Item */ readonly responseCartLineItemsDigitalItemsAllOf0: { /** @description The list of selected options for this product. */ readonly options?: readonly components["schemas"]["responseCartLineItemsDigitalItemsAllOf0OptionsItems"][]; /** @description The products brand */ readonly brand?: string; /** @description The total value of all coupons applied to this item. */ readonly couponAmount?: number; /** * Format: float * @description The total value of all discounts applied to this item (excluding coupon). */ readonly discountAmount?: number; /** @description List of discounts applied to this item, as an array of AppliedDiscount objects. */ readonly discounts?: readonly components["schemas"]["responseCartLineItemsDigitalItemsAllOf0DiscountsItems"][]; /** @description Item's list price multiplied by the quantity. */ readonly extendedListPrice?: number; /** @description Item's sale price multiplied by the quantity. */ readonly extendedSalePrice?: number; /** * @description The line-item ID. * @example 4 */ readonly id?: string; /** * Format: uri * @description URL of an image of this item, accessible on the internet. */ readonly imageUrl?: string; /** @description Whether or not you can change or remove the item from the cart. Items that are immutable include those added automatically by promotions. */ readonly isMutable?: boolean; /** @description Whether the item is taxable. */ readonly isTaxable?: boolean; /** @description The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel. */ readonly listPrice?: number; /** @description An item’s original price is the same as the product default price in the admin panel. */ readonly originalPrice?: number; /** @description The item's product name. */ readonly name?: string; /** * @description The product is part of a bundle such as a product pick list, then the parentId or the main product id will populate. * @example 6 */ readonly parentId?: string; /** @description ID of the product. */ readonly productId?: number; /** @description Quantity of this item. */ readonly quantity: number; /** @description Item's price after all discounts are applied. (The final price before tax calculation.) */ readonly salePrice?: number; /** @description SKU of the variant. */ readonly sku?: string; /** * @description The type of line item. * @enum {string} */ readonly type?: "digital"; /** * Format: uri * @description The product URL. */ readonly url?: string; /** * @description ID of the variant. * @example 7 */ readonly variantId?: number; }; /** Applied Discount */ readonly responseCartLineItemsDigitalItemsAllOf0DiscountsItems: { /** * Format: float * @description The discounted amount applied within a given context. */ readonly discountedAmount?: number; /** @description ID of the applied discount. */ readonly id?: number; }; /** Product Option */ readonly responseCartLineItemsDigitalItemsAllOf0OptionsItems: { /** @description The product option name. For example, Color or Size */ readonly name?: string; /** * @description The product option identifier. It is the same as the `optionId` used in the request. * @example 125 */ readonly nameId?: number; /** @description The product option value. For example, Red or Medium */ readonly value?: string; /** * @description The product option value identifier. It is the same as the `optionValue` used in the request. * @example 127 */ readonly valueId?: number; }; /** Item Gift Certificate */ readonly responseCartLineItemsGiftCertificates: { /** @description Value must be between 1.00 and 1,000.00 in the storeʼs default currency. */ readonly amount: number; /** @description ID of this gift certificate. */ readonly id?: string; /** @description Whether or not the gift certificate is taxable. */ readonly taxable?: boolean; /** @description Message that will be sent to the gift certificate's recipient. Limited to 200 characters. */ readonly message?: string; /** @description GiftCertificate-provided name that will appear in the control panel. */ readonly name?: string; readonly recipient: components["schemas"]["responseCartLineItemsGiftCertificatesRecipient"]; readonly sender: components["schemas"]["responseCartLineItemsGiftCertificatesSender"]; /** @description Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. */ readonly theme: string; /** * @description The type of line item. * @enum {string} */ readonly type?: "giftCertificate"; }; /** Contact Entity */ readonly responseCartLineItemsGiftCertificatesRecipient: { /** * Format: email * @description Contact's email address. */ readonly email?: string; /** @description Contact's name. */ readonly name?: string; }; /** Contact Entity */ readonly responseCartLineItemsGiftCertificatesSender: { /** * Format: email * @description Contact's email address. */ readonly email?: string; /** @description Contact's name. */ readonly name?: string; }; /** Item Physical */ readonly responseCartLineItemsItemsPhysicalItemsItems: components["schemas"]["responseCartBaseItem"] & components["schemas"]["responseCartLineItemsItemsPhysicalItemsItemsAllOf1"]; /** Base Item */ readonly responseCartBaseItem: { /** @description The list of selected options for this product. */ readonly options?: readonly components["schemas"]["responseCartLineItemsItemsPhysicalItemsItemsAllOf0OptionsItems"][]; /** @description The products brand */ readonly brand?: string; /** @description The total value of all coupons applied to this item. */ readonly couponAmount?: number; /** * Format: float * @description The total value of all discounts applied to this item (excluding coupon). */ readonly discountAmount?: number; readonly discounts?: components["schemas"]["responseCartDiscounts"]; /** @description Item's list price multiplied by the quantity. */ readonly extendedListPrice?: number; /** @description Item's sale price multiplied by the quantity. */ readonly extendedSalePrice?: number; /** * @description The line-item ID. * @example 4 */ readonly id?: string; /** * Format: uri * @description URL of an image of this item, accessible on the internet. */ readonly imageUrl?: string; /** @description Whether or not you can change or remove the item from the cart. Items that are immutable include those added automatically by promotions. */ readonly isMutable?: boolean; /** @description Whether the item is taxable. */ readonly isTaxable?: boolean; /** @description The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel. */ readonly listPrice?: number; /** @description An item’s original price is the same as the product default price in the admin panel. */ readonly originalPrice?: number; /** @description The item's product name. */ readonly name?: string; /** * @description The product is part of a bundle such as a product pick list, then the parentId or the main product id will populate. * @example 6 */ readonly parentId?: number; /** @description ID of the product. */ readonly productId?: number; /** @description Quantity of this item. */ readonly quantity: number; /** @description Item's price after all discounts are applied. (The final price before tax calculation.) */ readonly salePrice?: number; /** @description SKU of the variant. */ readonly sku?: string; /** * @description The type of line item. * @enum {string} */ readonly type?: "physical"; /** * Format: uri * @description The product URL. */ readonly url?: string; /** * @description ID of the variant. * @example 7 */ readonly variantId?: number; }; /** Product Option */ readonly responseCartLineItemsItemsPhysicalItemsItemsAllOf0OptionsItems: { /** @description The product option name. For example, Color or Size */ readonly name?: string; /** * @description The product option identifier. It is the same as the `optionId` used in the request. * @example 125 */ readonly nameId?: number; /** @description The product option value. For example, Red or Medium */ readonly value?: string; /** * @description The product option value identifier. It is the same as the `optionValue` used in the request. * @example 127 */ readonly valueId?: number; }; readonly responseCartLineItemsItemsPhysicalItemsItemsAllOf1: { readonly giftWrapping?: components["schemas"]["responseCartLineItemsPhysicalItemGiftWrapping"]; /** @description Whether this item requires shipping to a physical address. */ readonly isShippingRequired?: boolean; }; /** Line Item Request Data */ readonly requestCartPostLineItem: { /** @description ID of the product. */ readonly productId: number; readonly optionSelections?: readonly { /** * @description Modifier option ID. * @example 2 */ readonly optionId?: number; /** @description Modifier option value. */ readonly optionValue?: string | number; }[]; /** @description Quantity of this item. */ readonly quantity: number; readonly giftWrapping?: components["schemas"]["requestPostOrPutGiftWrapping"]; } | { /** @description ID of the product. */ readonly productId: number; /** @description Quantity of this item. */ readonly quantity: number; /** @description ID of the variant. */ readonly variantId?: number; readonly optionSelections?: readonly { /** * @description Modifier option ID. * @example 2 */ readonly optionId?: number; /** @description Modifier option value. */ readonly optionValue?: string | number; }[]; readonly giftWrapping?: components["schemas"]["requestPostOrPutGiftWrapping"]; }; /** Contact Entity */ readonly requestLineItemGiftCertificateRecipient: { /** * Format: email * @description Contact's email address. */ readonly email?: string; /** @description Contact's name. */ readonly name?: string; }; /** Contact Entity */ readonly requestLineItemGiftCertificateSender: { /** * Format: email * @description Contact's email address. */ readonly email?: string; /** @description Contact's name. */ readonly name?: string; }; }; responses: { /** @description Post Carts Response */ readonly postCarts: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": components["schemas"]["responseCart"]; }; }; readonly postCartsItems: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": components["schemas"]["responseCart"]; }; }; readonly putCartsItems: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": components["schemas"]["responseCart"]; }; }; readonly getCarts: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": readonly components["schemas"]["responseCart"][]; }; }; /** @description NOTE: Discounted line items are re-evaluated on cart actions and may be automatically added back to your cart with a new line item ID to satisfy promotional requirements. */ readonly deleteCartsItems: { headers: { readonly [name: string]: unknown; }; content: { readonly "application/json": components["schemas"]["responseCart"]; }; }; /** @description Cart conflict */ readonly CartConflictErrorResponse: { headers: { readonly [name: string]: unknown; }; content: { /** @example { * "status": 409, * "title": "The request cannot be processed due to a possible conflict. Please review the changes and try again.", * "type": "https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes" * } */ readonly "application/json": { readonly status?: number; readonly title?: string; readonly type?: string; }; }; }; }; parameters: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept: string; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly ContentType: string; /** @description This cartʼs unique ID. */ readonly CartIdPath: string; /** @description The ID of the subject item. */ readonly ItemIdPath: string; /** @description To return product options add one of the following include: * * `lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options,lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return. */ readonly Include: readonly ("lineItems.physicalItems.options" | "lineItems.digitalItems.options")[]; }; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { readonly getCart: { readonly parameters: { readonly query?: { /** @description To return product options add one of the following include: * * `lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options,lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return. */ readonly include?: components["parameters"]["Include"]; }; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; }; readonly path?: never; readonly cookie?: never; }; readonly requestBody?: never; readonly responses: { readonly 200: components["responses"]["getCarts"]; }; }; readonly createCart: { readonly parameters: { readonly query?: { /** @description To return product options add one of the following include: * * `lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options,lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return. */ readonly include?: components["parameters"]["Include"]; }; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly "Content-Type"?: components["parameters"]["ContentType"]; }; readonly path?: never; readonly cookie?: never; }; readonly requestBody: { readonly content: { readonly "application/json": components["schemas"]["requestCart"]; }; }; readonly responses: { readonly 200: components["responses"]["postCarts"]; }; }; readonly deleteCart: { readonly parameters: { readonly query?: never; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; }; readonly path: { /** @description This cartʼs unique ID. */ readonly cartId: components["parameters"]["CartIdPath"]; }; readonly cookie?: never; }; readonly requestBody?: never; readonly responses: { /** @description No Content */ readonly 204: { headers: { readonly [name: string]: unknown; }; content?: never; }; }; }; readonly addCartLineItem: { readonly parameters: { readonly query?: { /** @description To return product options add one of the following include: * * `lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options,lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return. */ readonly include?: components["parameters"]["Include"]; }; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly "Content-Type"?: components["parameters"]["ContentType"]; }; readonly path: { /** @description This cartʼs unique ID. */ readonly cartId: components["parameters"]["CartIdPath"]; }; readonly cookie?: never; }; readonly requestBody?: { readonly content: { readonly "application/json": components["schemas"]["LineItemsRequest"]; }; }; readonly responses: { readonly 200: components["responses"]["postCartsItems"]; readonly 409: components["responses"]["CartConflictErrorResponse"]; }; }; readonly updateCartLineItem: { readonly parameters: { readonly query?: { /** @description To return product options add one of the following include: * * `lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options,lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return. */ readonly include?: components["parameters"]["Include"]; }; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly "Content-Type"?: components["parameters"]["ContentType"]; }; readonly path: { /** @description This cartʼs unique ID. */ readonly cartId: components["parameters"]["CartIdPath"]; /** @description The ID of the subject item. */ readonly itemId: components["parameters"]["ItemIdPath"]; }; readonly cookie?: never; }; readonly requestBody: { readonly content: { readonly "application/json": components["schemas"]["requestLineItemPut"]; }; }; readonly responses: { readonly 200: components["responses"]["putCartsItems"]; readonly 409: components["responses"]["CartConflictErrorResponse"]; }; }; readonly deleteCartLineItem: { readonly parameters: { readonly query?: { /** @description To return product options add one of the following include: * * `lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options,lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return. */ readonly include?: components["parameters"]["Include"]; }; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; }; readonly path: { /** @description This cartʼs unique ID. */ readonly cartId: components["parameters"]["CartIdPath"]; /** @description The ID of the subject item. */ readonly itemId: components["parameters"]["ItemIdPath"]; }; readonly cookie?: never; }; readonly requestBody?: { readonly content: { readonly "application/json": components["schemas"]["requestLineItemDelete"]; }; }; readonly responses: { readonly 200: components["responses"]["deleteCartsItems"]; readonly 409: components["responses"]["CartConflictErrorResponse"]; }; }; readonly updateCartCurrency: { readonly parameters: { readonly query?: { /** @description To return product options add one of the following include: * * `lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options`: The Cart returns an abbreviated result. Use this to return digital items product options. Can also be used in a /POST to have the extended Cart object return. * * `lineItems.digitalItems.options,lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return. */ readonly include?: components["parameters"]["Include"]; }; readonly header?: { /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. */ readonly Accept?: components["parameters"]["Accept"]; /** @description The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. */ readonly "Content-Type"?: components["parameters"]["ContentType"]; }; readonly path: { /** @description This cartʼs unique ID. */ readonly cartId: components["parameters"]["CartIdPath"]; }; readonly cookie?: never; }; readonly requestBody?: { readonly content: { readonly "application/json": { /** @description currency code */ readonly currencyCode: string; }; }; }; readonly responses: { readonly 200: components["responses"]["getCarts"]; /** @description Bad request. Authentication Required. */ readonly 400: { headers: { readonly [name: string]: unknown; }; content?: never; }; /** @description Currency not found */ readonly 404: { headers: { readonly [name: string]: unknown; }; content?: never; }; /** @description Missing or invalid data */ readonly 422: { headers: { readonly [name: string]: unknown; }; content?: never; }; }; }; }