Endpoint
Authentication
This endpoint does not require authentication. It is publicly accessible.
Query Parameters
Search products by name, category name, label, or store brand name
Filter products by category ID
Filter by product availability status
true - Only show available products
false - Only show unavailable products
Filter products by store ID
Number of products to return per page
Number of products to skip for pagination
Response
Total number of products matching the query
URL for the next page of results (null if no more pages)
URL for the previous page of results (null if first page)
Array of product objects
Unique product identifier
Category name the product belongs to
Detailed product description
Hyperlink to the store details
Base price of the product or lowest variant price if variants exist
Shipping fee for the product (can be null)
Average customer rating (null if no reviews)
Whether the product has variants or is a standalone item
Total available stock quantity
Total number of units sold
Current availability status
Whether the product is active in the system
ISO 8601 timestamp of product creation
ISO 8601 timestamp of last update
Array of product media objects (images/videos)
Whether this is the primary product image
Type of media: image, video, or unknown
Array of active offers applicable to this product
Type of discount (e.g., percentage, fixed amount)
Request Examples
curl -X GET "https://api.example.com/api/v1/products/" \
-H "Accept: application/json"
Response Example
{
"count": 156,
"next": "https://api.example.com/api/v1/products/?limit=10&offset=10",
"previous": null,
"results": [
{
"id": 1,
"name": "Premium Wireless Headphones",
"category": "Electronics",
"description": "High-quality wireless headphones with noise cancellation",
"store": "https://api.example.com/api/v1/stores/tech-store/",
"base_price": "149.99",
"shipping_fee": "5.99",
"rating": 4.5,
"is_standalone": false,
"total_stock_level": 250,
"total_sold": 1050,
"is_available": true,
"is_active": true,
"created": "2024-01-15T10:30:00Z",
"updated": "2024-03-01T14:22:00Z",
"media": [
{
"id": 1,
"file": "https://cdn.example.com/products/2024/01/headphones-main.jpg",
"is_primary": true,
"file_size": 2.45,
"file_type": "image"
},
{
"id": 2,
"file": "https://cdn.example.com/products/2024/01/headphones-demo.mp4",
"is_primary": false,
"file_size": 8.12,
"file_type": "video"
}
],
"product_offers": [
{
"id": 10,
"name": "Spring Sale - 15% Off Electronics",
"discount_type": "percentage",
"discount_value": "15.00"
}
]
}
]
}
Error Responses
Invalid query parameters{
"error": "Invalid value for is_available parameter"
}
Notes
- Products are ordered by
total_sold (descending) and then by rating (descending)
- The
base_price field returns the product’s base price, or the lowest variant price if the product has variants
- The search functionality searches across product name, category name, label, and store brand name
- Only active products are included in the results by default
- Media files have a 10MB size limit
- Supported image formats: JPEG, PNG, WebP
- Supported video formats: MP4, WebM