Skip to content
Browse documentation

API reference

Catalogue

Read the published product catalogue: products and their variants, product categories and collections. Supports search, category and collection filters, price range, brand, product type and featured filters.

Feature requirement: the project must have the commerce feature enabled, or these endpoints return 404.

  • Prices are integer minor units with a currency code.
  • Only products with a published status are returned.
GET/api/v1/storefront/projects/{project_slug}/categories

List Categories

Parameters
NameTypeInDescription
project_slugstringpathRequired.
pageintegerqueryOptional. Page number (1-based)
page_sizeintegerqueryOptional. Number of items per page
Response 200 (list) · StorefrontCategoryRead[]
FieldTypeDescription
idstringrequired—
parent_idstring (nullable)optional—
namestringrequired—
slugstringrequired—
descriptionstring (nullable)optional—
positionintegerrequired—
childrenStorefrontCategoryRead[]optional—
Example request
curl "https://api.webtools.ng/api/v1/storefront/projects/your-project/categories" \
  -H "X-Project-Key: wt_pk_your_key"
GET/api/v1/storefront/projects/{project_slug}/collections

List Collections

Parameters
NameTypeInDescription
project_slugstringpathRequired.
pageintegerqueryOptional. Page number (1-based)
page_sizeintegerqueryOptional. Number of items per page
Response 200 (list) · StorefrontCollectionRead[]
FieldTypeDescription
idstringrequired—
namestringrequired—
slugstringrequired—
descriptionstring (nullable)optional—
positionintegerrequired—
productsStorefrontProductRead[]optional—
Example request
curl "https://api.webtools.ng/api/v1/storefront/projects/your-project/collections" \
  -H "X-Project-Key: wt_pk_your_key"
GET/api/v1/storefront/projects/{project_slug}/products

List Products

Parameters
NameTypeInDescription
project_slugstringpathRequired.
qstring (nullable)queryOptional.
categorystring (nullable)queryOptional.
collectionstring (nullable)queryOptional.
product_typeProductType (nullable)queryOptional.
brandstring (nullable)queryOptional.
featuredboolean (nullable)queryOptional.
min_price_minorinteger (nullable)queryOptional.
max_price_minorinteger (nullable)queryOptional.
pageintegerqueryOptional. Page number (1-based)
page_sizeintegerqueryOptional. Number of items per page
Response 200 (list) · StorefrontProductRead[]
FieldTypeDescription
idstringrequired—
namestringrequired—
slugstringrequired—
product_typeProductTyperequired—
short_descriptionstring (nullable)optional—
description_htmlstring (nullable)optional—
brandstring (nullable)optional—
specificationsobjectrequired—
is_featuredbooleanrequired—
variantsStorefrontVariantRead[]required—
categoriesProductCategoryAssignmentRead[]required—
mediaStorefrontMediaRead[]required—
seoSeoReadrequiredNested SEO metadata for API read responses.
Example request
curl "https://api.webtools.ng/api/v1/storefront/projects/your-project/products" \
  -H "X-Project-Key: wt_pk_your_key"
GET/api/v1/storefront/projects/{project_slug}/products/{product_slug}

Get Product

Parameters
NameTypeInDescription
project_slugstringpathRequired.
product_slugstringpathRequired.
Response 200 · StorefrontProductRead
FieldTypeDescription
idstringrequired—
namestringrequired—
slugstringrequired—
product_typeProductTyperequired—
short_descriptionstring (nullable)optional—
description_htmlstring (nullable)optional—
brandstring (nullable)optional—
specificationsobjectrequired—
is_featuredbooleanrequired—
variantsStorefrontVariantRead[]required—
categoriesProductCategoryAssignmentRead[]required—
mediaStorefrontMediaRead[]required—
seoSeoReadrequiredNested SEO metadata for API read responses.
Example request
curl "https://api.webtools.ng/api/v1/storefront/projects/your-project/products/{product_slug}" \
  -H "X-Project-Key: wt_pk_your_key"

← All resource groups