Skip to Content

VendorProductsApi

All URIs are relative to https://business.apis.kesk.app/v1 

MethodHTTP requestDescription
createVendorProductPOST /vendors/{vendor_id}/productsCreate a new product
deleteVendorProductDELETE /vendors/{vendor_id}/products/{product_id}Delete a product
getProductInventoryGET /vendors/{vendor_id}/products/{product_id}/inventory
getVendorProductGET /vendors/{vendor_id}/products/{product_id}Retrieve a specific product
getVendorProductsGET /vendors/{vendor_id}/productsList all products for a vendor
updateProductInventoryPUT /vendors/{vendor_id}/products/{product_id}/inventory/{location_id}
updateVendorProductPUT /vendors/{vendor_id}/products/{product_id}Update an existing product

createVendorProduct

ProductResponse createVendorProduct(vendor_id, name, price, category_id, photos, description, is_active)

Create a new product

Adds a new product to the vendor’s catalog with multipart support for photo uploads. Automatically associates the product with the vendor’s default location and currency.

Parameters

NameTypeDescriptionNotes
vendor_idLongID of the vendor creating the product[default to null]
nameStringName of the product.[default to null]
priceDoublePrice of the product.[default to null]
category_idLongCategory ID for the product.[default to null]
photosListProduct photos.[default to null]
descriptionStringDescription of the product.[optional] [default to null]
is_activeBooleanWhether the product is active.[optional] [default to null]

Return type

ProductResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: multipart/form-data
  • Accept: application/json; charset=utf-8

deleteVendorProduct

MessageResponse deleteVendorProduct(vendor_id, product_id)

Delete a product

Permanently removes a product from the vendor’s catalog. Verifies product ownership and vendor access before deletion. This action cannot be undone.

Parameters

NameTypeDescriptionNotes
vendor_idLongID of the vendor who owns the product[default to null]
product_idLongID of the product to delete[default to null]

Return type

MessageResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

getProductInventory

ProductInventoryListResponse getProductInventory(vendor_id, product_id)

Parameters

NameTypeDescriptionNotes
vendor_idLong[default to null]
product_idLong[default to null]

Return type

ProductInventoryListResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

getVendorProduct

ProductResponse getVendorProduct(vendor_id, product_id)

Retrieve a specific product

Fetches detailed information about a single product belonging to the vendor. Verifies both vendor access and product ownership before returning the data.

Parameters

NameTypeDescriptionNotes
vendor_idLongID of the vendor who owns the product[default to null]
product_idLongID of the product to retrieve[default to null]

Return type

ProductResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

getVendorProducts

ProductListResponse getVendorProducts(vendor_id, category_id, sub_category_id, location_id, menu_id, is_open, keyword, sort_by, page, per_page)

List all products for a vendor

Retrieves a paginated list of products belonging to the specified vendor with optional filtering by category, menu, status, and keyword search. Verifies user access to the vendor.

Parameters

NameTypeDescriptionNotes
vendor_idLongID of the vendor whose products to retrieve[default to null]
category_idLongFilter products by category ID[optional] [default to null]
sub_category_idLongFilter products by sub-category ID[optional] [default to null]
location_idLongFilter products by location ID[optional] [default to null]
menu_idLongFilter products by menu ID[optional] [default to null]
is_openBooleanFilter products by open/closed status[optional] [default to null]
keywordStringSearch keyword for product name or description[optional] [default to null]
sort_byStringField name to sort results by[optional] [default to null]
pageIntegerPage number for pagination (default: 1)[optional] [default to null]
per_pageIntegerNumber of items per page (default: 10)[optional] [default to null]

Return type

ProductListResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

updateProductInventory

ProductLocationInventory updateProductInventory(vendor_id, product_id, location_id, UpdateProductInventoryRequest)

Parameters

NameTypeDescriptionNotes
vendor_idLong[default to null]
product_idLong[default to null]
location_idLong[default to null]
UpdateProductInventoryRequestUpdateProductInventoryRequest

Return type

ProductLocationInventory

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

updateVendorProduct

ProductResponse updateVendorProduct(vendor_id, product_id, photos, name, description, price, category_id, is_active)

Update an existing product

Modifies product details including name, price, description, and photos. Only updates fields provided in the request. Verifies product ownership before applying changes.

Parameters

NameTypeDescriptionNotes
vendor_idLongID of the vendor who owns the product[default to null]
product_idLongID of the product to update[default to null]
photosListProduct photos to add.[default to null]
nameStringName of the product.[optional] [default to null]
descriptionStringDescription of the product.[optional] [default to null]
priceDoublePrice of the product.[optional] [default to null]
category_idLongCategory ID for the product.[optional] [default to null]
is_activeBooleanWhether the product is active.[optional] [default to null]

Return type

ProductResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: multipart/form-data
  • Accept: application/json; charset=utf-8