@gnosticdev/highlevel-sdk
Version:
SDK for the HighLevel API
1,627 lines (1,626 loc) • 111 kB
TypeScript
//#region src/v2/types/products.d.ts
interface paths {
'/products/': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Products
* @description The "List Products" API allows to retrieve a paginated list of products. Customize your results by filtering products based on name or paginate through the list using the provided query parameters. This endpoint provides a straightforward way to explore and retrieve product information.
*/
get: operations['list-invoices'];
put?: never;
/**
* Create Product
* @description The "Create Product" API allows adding a new product to the system. Use this endpoint to create a product with the specified details. Ensure that the required information is provided in the request payload.
*/
post: operations['create-product'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/{productId}': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Product by ID
* @description The "Get Product by ID" API allows to retrieve information for a specific product using its unique identifier. Use this endpoint to fetch details for a single product based on the provided product ID.
*/
get: operations['get-product-by-id'];
/**
* Update Product by ID
* @description The "Update Product by ID" API allows modifying information for a specific product using its unique identifier. Use this endpoint to update details for a single product based on the provided product ID.
*/
put: operations['update-product-by-id'];
post?: never;
/**
* Delete Product by ID
* @description The "Delete Product by ID" API allows deleting a specific product using its unique identifier. Use this endpoint to remove a product from the system.
*/
delete: operations['delete-product-by-id'];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/{productId}/price': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Prices for a Product
* @description The "List Prices for a Product" API allows retrieving a paginated list of prices associated with a specific product. Customize your results by filtering prices or paginate through the list using the provided query parameters.
*/
get: operations['list-prices-for-product'];
put?: never;
/**
* Create Price for a Product
* @description The "Create Price for a Product" API allows adding a new price associated with a specific product to the system. Use this endpoint to create a price with the specified details for a particular product. Ensure that the required information is provided in the request payload.
*/
post: operations['create-price-for-product'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/{productId}/price/{priceId}': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Price by ID for a Product
* @description The "Get Price by ID for a Product" API allows retrieving information for a specific price associated with a particular product using its unique identifier. Use this endpoint to fetch details for a single price based on the provided price ID and product ID.
*/
get: operations['get-price-by-id-for-product'];
/**
* Update Price by ID for a Product
* @description The "Update Price by ID for a Product" API allows modifying information for a specific price associated with a particular product using its unique identifier. Use this endpoint to update details for a single price based on the provided price ID and product ID.
*/
put: operations['update-price-by-id-for-product'];
post?: never;
/**
* Delete Price by ID for a Product
* @description The "Delete Price by ID for a Product" API allows deleting a specific price associated with a particular product using its unique identifier. Use this endpoint to remove a price from the system.
*/
delete: operations['delete-price-by-id-for-product'];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/bulk-update': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Bulk Update Products
* @description API to bulk update products (price, availability, collections, delete)
*/
post: operations['bulkUpdate'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/bulk-update/edit': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Bulk Edit Products and Prices
* @description API to bulk edit products and their associated prices (max 30 entities)
*/
post: operations['bulkEdit'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/collections': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Fetch Product Collections
* @description Internal API to fetch the Product Collections
*/
get: operations['get-product-collection'];
put?: never;
/**
* Create Product Collection
* @description Create a new Product Collection for a specific location
*/
post: operations['create-product-collection'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/collections/{collectionId}': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Details about individual product collection
* @description Get Details about individual product collection
*/
get: operations['get-product-collection-id'];
/**
* Update Product Collection
* @description Update a specific product collection with Id :collectionId
*/
put: operations['update-product-collection'];
post?: never;
/**
* Delete Product Collection
* @description Delete specific product collection with Id :collectionId
*/
delete: operations['delete-product-collection'];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/inventory': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Inventory
* @description The "List Inventory API allows the user to retrieve a paginated list of inventory items. Use this endpoint to fetch details for multiple items in the inventory based on the provided query parameters.
*/
get: operations['get-list-inventory'];
put?: never;
/**
* Update Inventory
* @description The Update Inventory API allows the user to bulk update the inventory for multiple items. Use this endpoint to update the available quantity and out-of-stock purchase settings for multiple items in the inventory.
*/
post: operations['update-inventory'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/reviews': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Fetch Product Reviews
* @description API to fetch the Product Reviews
*/
get: operations['get-product-reviews'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/reviews/{reviewId}': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Update Product Reviews
* @description Update status, reply, etc of a particular review
*/
put: operations['update-product-review'];
post?: never;
/**
* Delete Product Review
* @description Delete specific product review
*/
delete: operations['delete-product-review'];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/reviews/bulk-update': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Update Product Reviews
* @description Update one or multiple product reviews: status, reply, etc.
*/
post: operations['bulk-update-product-review'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/reviews/count': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Fetch Review Count as per status
* @description API to fetch the Review Count as per status
*/
get: operations['get-reviews-count'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/store/{storeId}': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Action to include/exclude the product in store
* @description API to update the status of products in a particular store
*/
post: operations['update-store-status'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/store/{storeId}/priority': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Update product display priorities in store
* @description API to set the display priority of products in a store
*/
post: operations['update-display-priority'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/products/store/{storeId}/stats': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Fetch Product Store Stats
* @description API to fetch the total number of products, included in the store, and excluded from the store and other stats
*/
get: operations['get-product-store-stats'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
type webhooks = Record<string, never>;
interface components {
schemas: {
BadRequestDTO: {
/** @example Bad Request */message?: string; /** @example 400 */
statusCode?: number;
};
BulkEditPriceDto: {
/**
* @description Price ID
* @example 64a1b2c3d4e5f67890123456
*/
_id: string;
/**
* @description Allow out of stock purchases
* @example false
*/
allowOutOfStockPurchases?: boolean;
/**
* @description Price amount
* @example 99.99
*/
amount?: number;
/**
* @description Available quantity
* @example 100
*/
availableQuantity?: number;
/**
* @description Compare at price
* @example 129.99
*/
compareAtPrice?: number;
/**
* @description Price currency
* @example USD
*/
currency?: string;
/**
* @description Price name
* @example Standard Plan
*/
name?: string; /** @description Recurring details */
recurring?: components['schemas']['RecurringDto'];
/**
* @description Setup fee
* @example 25
*/
setupFee?: number; /** @description Shipping options */
shippingOptions?: components['schemas']['ShippingOptionsDto'];
/**
* @description SKU
* @example SKU-001
*/
sku?: string;
/**
* @description Total billing cycles
* @example 12
*/
totalCycles?: number;
/**
* @description Track inventory
* @example true
*/
trackInventory?: boolean;
/**
* @description Trial period in days
* @example 7
*/
trialPeriod?: number;
};
BulkEditProductDto: {
/**
* @description Product ID
* @example 64a1b2c3d4e5f67890123456
*/
_id: string;
/**
* @description Automatic tax category ID
* @example 64a1b2c3d4e5f67890123460
*/
automaticTaxCategoryId?: string;
/**
* @description Product availability in store
* @example true
*/
availableInStore?: boolean;
/**
* @description Collection IDs
* @example [
* "64a1b2c3d4e5f67890123458",
* "64a1b2c3d4e5f67890123459"
* ]
*/
collectionIds?: string[];
/**
* @description Product description
* @example A high-quality premium product with excellent features and durability
*/
description?: string;
/**
* @description Product image
* @example https://example.com/product-image.jpg
*/
image?: string;
/**
* @description Enable product label
* @example true
*/
isLabelEnabled?: boolean;
/**
* @description Enable taxes
* @example true
*/
isTaxesEnabled?: boolean; /** @description Product label */
label?: Record<string, never>; /** @description Product media */
medias?: Record<string, never>[];
/**
* @description Product name
* @example Premium Product
*/
name?: string; /** @description Array of price variants for the product */
prices?: components['schemas']['BulkEditPriceDto'][]; /** @description SEO metadata for the product */
seo?: components['schemas']['ProductSEODto'];
/**
* @description Product URL slug
* @example premium-product
*/
slug?: string; /** @description Product taxes */
taxes?: Record<string, never>[];
/**
* @description Tax inclusive pricing
* @example false
*/
taxInclusive?: boolean;
};
BulkEditRequestDto: {
/**
* @description Location Id or Agency Id
* @example 6578278e879ad2646715ba9c
*/
altId: string; /** @enum {string} */
altType: 'location'; /** @description Array of products to update. Note: The total count includes all prices within each product. */
products: components['schemas']['BulkEditProductDto'][];
};
BulkEditResponseDto: {
/**
* @description Success message
* @example Products updated successfully
*/
message: string;
/**
* @description Operation status
* @example true
*/
status: boolean;
/**
* @description Number of products updated
* @example 5
*/
updatedCount: number;
};
BulkUpdateDto: {
/**
* @description Location Id or Agency Id
* @example 6578278e879ad2646715ba9c
*/
altId: string; /** @enum {string} */
altType: 'location'; /** @description New availability status */
availability?: boolean; /** @description Array of collection IDs */
collectionIds?: string[]; /** @description Compare at price update configuration */
compareAtPrice?: components['schemas']['PriceUpdateField'];
/**
* @description Currency code
* @example USD
*/
currency?: string; /** @description Filters to apply when selectAll is true */
filters?: components['schemas']['BulkUpdateFilters']; /** @description Price update configuration */
price?: components['schemas']['PriceUpdateField'];
/**
* @description Array of product IDs
* @example [
* "5f8d0d55b54764421b7156c1"
* ]
*/
productIds: string[];
/**
* @description Type of bulk update operation
* @example bulk-update-price
* @enum {string}
*/
type: 'bulk-update-price' | 'bulk-update-availability' | 'bulk-update-product-collection' | 'bulk-delete-products' | 'bulk-update-currency';
};
BulkUpdateFilters: {
/**
* @description Filter by availability status
* @example true
*/
availableInStore?: boolean;
/**
* @description Filter by collection IDs
* @example [
* "5f8d0d55b54764421b7156c1",
* "5f8d0d55b54764421b7156c2"
* ]
*/
collectionIds?: string[];
/**
* @description Filter by product type
* @example one-time
*/
productType?: string;
/**
* @description Filter by search term
* @example blue t-shirt
*/
search?: string;
};
BulkUpdateResponseDto: {
/**
* @description Success message
* @example Successfully created
*/
message?: string;
/**
* @description Status of api action
* @example true
*/
status: boolean;
};
CollectionSchema: {
/**
* @description The unique identifier for the collection
* @example 655b33a82209e60b6adb87a5
*/
_id: string;
/**
* @description Location Id to which the collection is associated
* @example Z4Bxl8J4SaPEPLq9IQ8g
*/
altId: string;
/**
* @description Date at which the collection was created
* @example 2024-02-22T09:27:19.728Z
*/
createdAt: string;
/**
* @description The URL of the image that is going to be displayed as the collection Thumbnail
* @example http://example.com/watermark.png
*/
image: string;
/**
* @description Name of the collection
* @example Best Sellers
*/
name: string; /** @description The information which will be displayed in SEO previews */
seo: components['schemas']['CollectionSEODto'];
/**
* @description Slug of the collection with which navigation is established. Special Characters and spacing is not allowed and should be unique
* @example best-sellers
*/
slug: string;
};
CollectionSEODto: {
/**
* @description The description which would be displayed in preview purposes
* @example Collections where all the best products are available
*/
description?: string;
/**
* @description The title which will be displayed as an SEO format
* @example Best Sellers
*/
title?: string;
};
CountReviewsByStatusResponseDto: {
/** @description Array of review status counts */data: unknown[][];
};
CreateCollectionResponseDto: {
/** @description created Collection */data: components['schemas']['CollectionSchema'];
};
CreatePriceDto: {
/**
* @description Continue selling when out of stock
* @example true
*/
allowOutOfStockPurchases?: boolean;
/**
* @description The amount of the price. ( min: 0 )
* @example 99.99
*/
amount: number;
/**
* @description Available inventory stock quantity
* @example 5
*/
availableQuantity?: number;
/**
* @description The compare at price for the price.
* @example 19.99
*/
compareAtPrice?: number;
/**
* @description The currency of the price.
* @example USD
*/
currency: string; /** @description A brief description of the price. */
description?: string; /** @description Digital delivery options */
digitalDelivery?: string[];
/**
* @description Is the product a digital product
* @example true
*/
isDigitalProduct?: boolean;
/**
* @description The unique identifier of the location associated with the price.
* @example 6578278e879ad2646715ba9c
*/
locationId: string; /** @description An array of membership offers associated with the price. */
membershipOffers?: components['schemas']['MembershipOfferDto'][]; /** @description Additional metadata associated with the price. */
meta?: components['schemas']['PriceMetaDto'];
/**
* @description The name of the price.
* @example Price Name
*/
name: string; /** @description The recurring details of the price (if type is recurring). */
recurring?: components['schemas']['RecurringDto'];
/**
* @description The setup fee for the price.
* @example 10.99
*/
setupFee?: number; /** @description Shipping options of the Price */
shippingOptions?: components['schemas']['ShippingOptionsDto'];
/**
* @description The unique identifier of the SKU associated with the price
* @example sku_123
*/
sku?: string;
/**
* @description The total number of billing cycles for the price. ( min: 1 )
* @example 12
*/
totalCycles?: number;
/**
* @description Need to track inventory stock quantity
* @example true
*/
trackInventory?: boolean;
/**
* @description The trial period duration in days (if applicable).
* @example 7
*/
trialPeriod?: number;
/**
* @description The type of the price.
* @example one_time
* @enum {string}
*/
type: 'one_time' | 'recurring';
/**
* @description The unique identifier of the user who created the price.
* @example 6578278e879ad2646715ba9c
*/
userId?: string;
/**
* @description An array of variant option IDs associated with the price.
* @example [
* "option_id_1",
* "option_id_2"
* ]
*/
variantOptionIds?: string[];
};
CreatePriceResponseDto: {
/**
* @description The unique identifier for the price.
* @example 655b33aa2209e60b6adb87a7
*/
_id: string;
/**
* @description Continue selling when out of stock
* @example true
*/
allowOutOfStockPurchases?: boolean;
/**
* @description The amount of the price.
* @example 199999
*/
amount: number;
/**
* @description Available inventory stock quantity
* @example 5
*/
availableQuantity?: number;
/**
* @description The compare-at price for comparison purposes.
* @example 2000000
*/
compareAtPrice?: number;
/**
* Format: date-time
* @description The creation timestamp of the price.
* @example 2023-11-20T10:23:38.645Z
*/
createdAt?: string;
/**
* @description The currency code for the price.
* @example INR
*/
currency: string;
/**
* @description The unique identifier for the location.
* @example 3SwdhCsvxI8Au3KsPJt6
*/
locationId?: string; /** @description An array of membership offers associated with the price. */
membershipOffers?: components['schemas']['MembershipOfferDto'][];
/**
* @description The name of the price.
* @example Red / S
*/
name: string;
/**
* @description The unique identifier for the associated product.
* @example 655b33a82209e60b6adb87a5
*/
product?: string; /** @description The recurring details of the price (if type is recurring). */
recurring?: components['schemas']['RecurringDto'];
/**
* @description Indicates whether inventory tracking is enabled.
* @example null
*/
trackInventory?: boolean;
/**
* @description The type of the price (e.g., one_time).
* @example one_time
* @enum {string}
*/
type: 'one_time' | 'recurring';
/**
* Format: date-time
* @description The last update timestamp of the price.
* @example 2024-01-23T09:57:04.852Z
*/
updatedAt?: string;
/**
* @description The unique identifier for the user.
* @example 6YAtzfzpmHAdj0e8GkKp
*/
userId?: string;
/**
* @description An array of variant option IDs associated with the price.
* @example [
* "h4z7u0im2q8",
* "h3nst2ltsnn"
* ]
*/
variantOptionIds?: string[];
};
CreateProductCollectionsDto: {
/**
* @description Location Id
* @example 6578278e879ad2646715ba9c
*/
altId: string;
/**
* @description The type of alt. For now it is only LOCATION
* @example LOCATION
* @enum {string}
*/
altType: 'location';
/**
* @description Unique Identifier of the Product Collection, Mongo Id
* @example 66057f9d28536eae584ec047
*/
collectionId?: string;
/**
* @description The URL of the image that is going to be displayed as the collection Thumbnail
* @example http://example.com/watermark.png
*/
image?: string;
/**
* @description Name of the Product Collection
* @example Best Sellers
*/
name: string; /** @description The metadata information which will be displayed in SEO previews */
seo?: components['schemas']['CollectionSEODto'];
/**
* @description Slug of the Product Collection which helps in navigation
* @example best-sellers
*/
slug: string;
};
CreateProductDto: {
/**
* @description Tax category ID for Automatic taxes calculation.
* @example 65d71377c326ea78e1c47df5
*/
automaticTaxCategoryId?: string;
/**
* @description Indicates whether the product is available in-store.
* @example true
*/
availableInStore?: boolean;
/**
* @description An array of category Ids for the product
* @example [
* "65d71377c326ea78e1c47df5",
* "65d71377c326ea78e1c47d34"
* ]
*/
collectionIds?: string[];
/**
* @description A brief description of the product.
* @example Product description goes here.
*/
description?: string;
/**
* @description The URL for the product image.
* @example https://storage.googleapis.com/ghl-test/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png
*/
image?: string;
/**
* @description Is the product label enabled. If this is true, label object cannot be empty.
* @default false
* @example true
*/
isLabelEnabled: boolean;
/**
* @description Are there any taxes attached to the product. If this is true, taxes array cannot be empty.
* @default false
* @example true
*/
isTaxesEnabled: boolean; /** @description Details for Product Label */
label?: components['schemas']['ProductLabelDto'];
/**
* @description The unique identifier for the location.
* @example 3SwdhCsvxI8Au3KsPJt6
*/
locationId: string; /** @description An array of medias for the product. */
medias?: components['schemas']['ProductMediaDto'][];
/**
* @description The name of the product.
* @example Awesome Product
*/
name: string; /** @enum {string} */
productType: 'DIGITAL' | 'PHYSICAL' | 'SERVICE' | 'PHYSICAL/DIGITAL'; /** @description SEO data for the product that will be displayed in the preview */
seo?: components['schemas']['ProductSEODto'];
/**
* @description The slug using which the product navigation will be handled
* @example awesome-product
*/
slug?: string;
/**
* @description The statement descriptor for the product.
* @example abcde
*/
statementDescriptor?: string;
/**
* @description List of ids of Taxes attached to the Product. If taxes are passed, isTaxesEnabled should be true.
* @example [
* "654492a4e6bef380114de15a"
* ]
*/
taxes?: string[];
/**
* @description Whether the taxes should be included in the purchase price
* @default false
* @example true
*/
taxInclusive: boolean; /** @description An array of variants for the product. */
variants?: components['schemas']['ProductVariantDto'][];
};
CreateProductResponseDto: {
/**
* @description The unique identifier for the product.
* @example 655b33a82209e60b6adb87a5
*/
_id: string;
/**
* @description Tax category ID for Automatic taxes calculation.
* @example 65d71377c326ea78e1c47df5
*/
automaticTaxCategoryId?: string;
/**
* @description Indicates whether the product is available in-store.
* @example true
*/
availableInStore?: boolean;
/**
* @description An array of category Ids for the product
* @example [
* "65d71377c326ea78e1c47df5",
* "65d71377c326ea78e1c47d34"
* ]
*/
collectionIds?: string[];
/**
* Format: date-time
* @description The creation timestamp of the product.
* @example 2023-11-20T10:23:36.515Z
*/
createdAt: string;
/**
* @description product description
* @example This is a really awesome product
*/
description?: string;
/**
* @description The URL for the product image.
* @example https://storage.googleapis.com/ghl-test/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png
*/
image?: string;
/**
* @description The field indicates whether taxes are enabled for the product or not.
* @default false
* @example true
*/
isTaxesEnabled: boolean; /** @description The Product label details */
label?: components['schemas']['ProductLabelDto'];
/**
* @description The unique identifier for the location.
* @example 3SwdhCsvxI8Au3KsPJt6
*/
locationId: string;
/**
* @description The name of the product.
* @example Awesome Product
*/
name: string;
/**
* @description The type of the product (e.g., PHYSICAL).
* @example PHYSICAL
*/
productType: string;
/**
* @description The slug of the product by which the product will be navigated
* @example washing-machine
*/
slug?: string;
/**
* @description The statement descriptor for the product.
* @example abcde
*/
statementDescriptor?: string;
/**
* @description An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.
* @example [
* "654492a4e6bef380114de15a"
* ]
*/
taxes?: string[];
/**
* Format: date-time
* @description The last update timestamp of the product.
* @example 2024-01-23T09:57:04.846Z
*/
updatedAt: string; /** @description An array of variants for the product. */
variants?: components['schemas']['ProductVariantDto'][];
};
DefaultCollectionResponseDto: {
/** @description Collection Data */data: components['schemas']['ProductCategories'];
/**
* @description Status of the operation
* @example true
*/
status: boolean;
};
DefaultPriceResponseDto: {
/**
* @description The unique identifier for the price.
* @example 655b33aa2209e60b6adb87a7
*/
_id: string;
/**
* @description Continue selling when out of stock
* @example true
*/
allowOutOfStockPurchases?: boolean;
/**
* @description The amount of the price.
* @example 199999
*/
amount: number;
/**
* @description Available inventory stock quantity
* @example 5
*/
availableQuantity?: number;
/**
* @description The compare-at price for comparison purposes.
* @example 2000000
*/
compareAtPrice?: number;
/**
* Format: date-time
* @description The creation timestamp of the price.
* @example 2023-11-20T10:23:38.645Z
*/
createdAt?: string;
/**
* @description The currency code for the price.
* @example INR
*/
currency: string;
/**
* @description The unique identifier for the location.
* @example 3SwdhCsvxI8Au3KsPJt6
*/
locationId?: string; /** @description An array of membership offers associated with the price. */
membershipOffers?: components['schemas']['MembershipOfferDto'][];
/**
* @description The name of the price.
* @example Red / S
*/
name: string;
/**
* @description The unique identifier for the associated product.
* @example 655b33a82209e60b6adb87a5
*/
product?: string; /** @description The recurring details of the price (if type is recurring). */
recurring?: components['schemas']['RecurringDto'];
/**
* @description Indicates whether inventory tracking is enabled.
* @example null
*/
trackInventory?: boolean;
/**
* @description The type of the price (e.g., one_time).
* @example one_time
* @enum {string}
*/
type: 'one_time' | 'recurring';
/**
* Format: date-time
* @description The last update timestamp of the price.
* @example 2024-01-23T09:57:04.852Z
*/
updatedAt?: string;
/**
* @description The unique identifier for the user.
* @example 6YAtzfzpmHAdj0e8GkKp
*/
userId?: string;
/**
* @description An array of variant option IDs associated with the price.
* @example [
* "h4z7u0im2q8",
* "h3nst2ltsnn"
* ]
*/
variantOptionIds?: string[];
};
DefaultProductResponseDto: {
/**
* @description The unique identifier for the product.
* @example 655b33a82209e60b6adb87a5
*/
_id: string;
/**
* @description Tax category ID for Automatic taxes calculation.
* @example 65d71377c326ea78e1c47df5
*/
automaticTaxCategoryId?: string;
/**
* @description Indicates whether the product is available in-store.
* @example true
*/
availableInStore?: boolean;
/**
* @description An array of category Ids for the product
* @example [
* "65d71377c326ea78e1c47df5",
* "65d71377c326ea78e1c47d34"
* ]
*/
collectionIds?: string[];
/**
* Format: date-time
* @description The creation timestamp of the product.
* @example 2023-11-20T10:23:36.515Z
*/
createdAt: string;
/**
* @description product description
* @example This is a really awesome product
*/
description?: string;
/**
* @description The URL for the product image.
* @example https://storage.googleapis.com/ghl-test/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png
*/
image?: string;
/**
* @description The field indicates whether taxes are enabled for the product or not.
* @default false
* @example true
*/
isTaxesEnabled: boolean; /** @description The Product label details */
label?: components['schemas']['ProductLabelDto'];
/**
* @description The unique identifier for the location.
* @example 3SwdhCsvxI8Au3KsPJt6
*/
locationId: string;
/**
* @description The name of the product.
* @example Awesome Product
*/
name: string;
/**
* @description The type of the product (e.g., PHYSICAL).
* @example PHYSICAL
*/
productType: string;
/**
* @description The slug of the product by which the product will be navigated
* @example washing-machine
*/
slug?: string;
/**
* @description The statement descriptor for the product.
* @example abcde
*/
statementDescriptor?: string;
/**
* @description An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.
* @example [
* "654492a4e6bef380114de15a"
* ]
*/
taxes?: string[];
/**
* Format: date-time
* @description The last update timestamp of the product.
* @example 2024-01-23T09:57:04.846Z
*/
updatedAt: string; /** @description An array of variants for the product. */
variants?: components['schemas']['ProductVariantDto'][];
};
DeletePriceResponseDto: {
/**
* @description returns true if the price is successfully deleted
* @example true
*/
status: boolean;
};
DeleteProductCollectionResponseDto: {
/**
* @description Success message
* @example Successfully created
*/
message?: string;
/**
* @description Status of api action
* @example true
*/
status: boolean;
};
DeleteProductResponseDto: {
/**
* @description returns true if the product is successfully deleted
* @example true
*/
status: boolean;
};
DeleteProductReviewResponseDto: {
/**
* @description Success message
* @example Successfully created
*/
message?: string;
/**
* @description Status of api action
* @example true
*/
status: boolean;
};
GetInventoryResponseDto: {
/** @description List of inventory items */inventory: components['schemas']['InventoryItemDto'][];
/**
* @description Total count of inventory items
* @example {
* "total": 100
* }
*/
total: Record<string, never>;
};
GetPriceResponseDto: {
/**
* @description The unique identifier for the price.
* @example 655b33aa2209e60b6adb87a7
*/
_id: string;
/**
* @description Continue selling when out of stock
* @example true
*/
allowOutOfStockPurchases?: boolean;
/**
* @description The amount of the price.
* @example 199999
*/
amount: number;
/**
* @description Available inventory stock quantity
* @example 5
*/
availableQuantity?: number;
/**
* @description The compare-at price for comparison purposes.
* @example 2000000
*/
compareAtPrice?: number;
/**
* Format: date-time
* @description The creation timestamp of the price.
* @example 2023-11-20T10:23:38.645Z
*/
createdAt?: string;
/**
* @description The currency code for the price.
* @example INR
*/
currency: string;
/**
* @description The unique identifier for the location.
* @example 3SwdhCsvxI8Au3KsPJt6
*/
locationId?: string; /** @description An array of membership offers associated with the price. */
membershipOffers?: components['schemas']['MembershipOfferDto'][];
/**
* @description The name of the price.
* @example Red / S
*/
name: string;
/**
* @description The unique identifier for the associated product.
* @example 655b33a82209e60b6adb87a5
*/
product?: string; /** @description The recurring details of the price (if type is recurring). */
recurring?: components['schemas']['RecurringDto'];
/**
* @description Indicates whether inventory tracking is enabled.
* @example null
*/
trackInventory?: boolean;
/**
* @description The type of the price (e.g., one_time).
* @example one_time
* @enum {string}
*/
type: 'one_time' | 'recurring';
/**
* Format: date-time
* @description The last update timestamp of the price.
* @example 2024-01-23T09:57:04.852Z
*/
updatedAt?: string;
/**
* @description The unique identifier for the user.
* @example 6YAtzfzpmHAdj0e8GkKp
*/
userId?: string;
/**
* @description An array of variant option IDs associated with the price.
* @example [
* "h4z7u0im2q8",
* "h3nst2ltsnn"
* ]
*/
variantOptionIds?: string[];
};
GetProductResponseDto: {
/**
* @description The unique identifier for the product.
* @example 655b33a82209e60b6adb87a5
*/
_id: string;
/**
* @description Tax category ID for Automatic taxes calculation.
* @example 65d71377c326ea78e1c47df5
*/
automaticTaxCategoryId?: string;
/**
* @description Indicates whether the product is available in-store.
* @example true
*/
availableInStore?: boolean;
/**
* @description An array of category Ids for the product
* @example [
* "65d71377c326ea78e1c47df5",
* "65d71377c326ea78e1c47d34"
* ]
*/
collectionIds?: string[];
/**
* Format: date-time
* @description The creation timestamp of the product.
* @example 2023-11-20T10:23:36.515Z
*/
createdAt: string;
/**
* @description product description
* @example This is a really awesome product
*/
description?: string;
/**
* @description The URL for the product image.
* @example https://storage.googleapis.com/ghl-test/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png
*/
image?: string;
/**
* @description The field indicates whether taxes are enabled for the product or not.
* @default false
* @example true
*/
isTaxesEnabled: boolean; /** @description The Product label details */
label?: components['schemas']['ProductLabelDto'];
/**
* @description The unique identifier for the location.
* @example 3SwdhCsvxI8Au3KsPJt6
*/
locationId: string;
/**
* @description The name of the product.
* @example Awesome Product
*/
name: string;
/**
* @description The type of the product (e.g., PHYSICAL).
* @example PHYSICAL
*/
productType: string;
/**
* @description The slug of the product by which the product will be navigated
* @example washing-machine
*/
slug?: string;
/**
* @description The statement descriptor for the product.
* @example abcde
*/
statementDescriptor?: string;
/**
* @description An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.
* @example [
* "654492a4e6bef380114de15a"
* ]
*/
taxes?: string[];
/**
* Format: date-time
* @description The last update timestamp of the product.
* @example 2024-01-23T09:57:04.846Z
*/
updatedAt: string; /** @description An array of variants for the product. */
variants?: components['schemas']['ProductVariantDto'][];
};
GetProductStatsResponseDto: {
/**
* @description Number of products excluded from the store
* @example 20
*/
excludedFromStore: number;
/**
* @description Number of products included in the store
* @example 80
*/
includedInStore: number;
/**
* @description Total number of products
* @example 100
*/
totalProducts: number;
};
InventoryItemDto: {
/**
* @description The unique identifier for the price
* @example 6241712be68f7a98102ba272
*/
_id: string;
/**
* @description Whether out of stock purchases are allowed
* @example false
*/
allowOutOfStockPurchases: boolean;
/**
* @description Available quantity in inventory
* @example 50
*/
availableQuantity: number;
/**
* @description Product image URL
* @example https://example.com/images/product.jpg
*/
image?: string;
/**
* @description Name of the price/variant
* @example Medium T-shirt
*/
name: string;
/**
* @description Product ID this price belongs to
* @example 6241712be68f7a98102ba270
*/
product: string;
/**
* @description Product name
* @example T-shirt
*/
productName?: string;
/**
* @description SKU for the product variant
* @example TSHIRT-MED-001
*/
sku: string;
/**
* @description Last update timestamp
* @example 2023-12-12T09:27:42.355Z
*/
updatedAt: string;
};
ListCollectionResponseDto: {
/** @description Array of Collections */data: unknown[][]; /** @description The total count of the collections present, which is useful to calculate the pagination */
total: number;
};
ListPricesResponseDto: {
/** @description An array of prices */prices: components['schemas']['DefaultPriceResponseDto'][];
/**
* @default Total number of prices available
* @example 10
*/
total: number;
};
ListProductReviewsResponseDto: {
/** @description Array of Collections */data: unknown[][]; /** @description The total count of the collections present, which is useful to calculate the pagination */
total: number;
};
ListProductsResponseDto: {
/** @description An array of products */products: components['schemas']['DefaultProductResponseDto'][]; /** @description list products status */
total: components['schemas']['ListProductsStats'][];
};
ListProductsStats: {
/**
* @description Total number of products
* @example 20
*/
total: number;
};
MembershipOfferDto: {
/**
* @description The unique identifier for the membership offer.
* @example 655b33aa2209e60b6adb87a7
*/
_id: string;
/**
* @description Membership offer label
* @example top_50
*/
label: string;
/**
* @description Membership offer label
* @example 50
*/
value: string;
};
PriceDimensionsDto: {
/**
* @description Height of the price
* @example 10
*/
height: number;
/**
* @description Length of the price
* @example 10
*/
length: number;
/**
* @description Unit of the price dimensions
* @example cm
* @enum {string}
*/
unit: 'cm' | 'in' | 'm';
/**
* @description Width of the price
* @example 10
*/
width: number;
};
PriceMetaDto: {
/**
* @description The internal source of the price.
* @example agency_plan
* @enum {string}
*/
internalSource: 'agency_plan' | 'funnel' | 'membership' | 'communities' | 'gokollab' | 'calendar';
/**
* @description The source of the price.
* @example stripe
* @enum {string}
*/
source: 'stripe' | 'woocommerce' | 'shopify';
/**
* @description The id of the source of the price from where it is imported
* @example 123
*/
sourceId?: string;
/**
* @description The Stripe price ID associated with the price.
* @example price_123
*/
stripePriceId: string;
};
PriceUpdateField: {
/**
* @description Round to nearest whole number
* @example true
*/
roundToWhole?: boolean;
/**
* @description Type of price update
* @example INCREASE_BY_AMOUNT
* @enum {string}
*/
type: 'INCREASE_BY_AMOUNT' | 'REDUCE_BY_AMOUNT' | 'SET_NEW_PRICE' | 'INCREASE_BY_PERCENTAGE' | 'REDUCE_BY_PERCENTAGE';
/**
* @description Value to update (amount or percentage based on type)
* @example 100
*/
value: number;
};
ProductCategories: Record<string, never>;
ProductLabelDto: {
/**
* @description Start date in YYYY-MM-DDTHH:mm:ssZ format
* @example 2024-06-30T05:43:39.000Z
*/
endDate?: string;
/**
* @description Start date in YYYY-MM-DDTHH:mm:ssZ format
* @example 2024-06-26T05:43:35.000Z
*/
startDate?: string;
/**
* @description The content for the product label.
* @example Featured
*/
title: string;
};
ProductMediaDto: {
/**
* @description The unique identifier for the media.
* @example fzrgusiuu0m
*/
id: string;
/**
* @description Indicates whether the media is featured.
* @example true