List Customer Products
Retrieve a list of customer products with filtering and pagination support. Returns customer products without variant values - use separate API to get variant details.
GET /product/v1/customer-products
Request Format
This is a GET request with optional query parameters for filtering and pagination:
GET /product/v1/customer-products?search=Business%20Card&customerIds=customer-123&limit=10&offset=0
Example curl request
curl --location --request GET 'https://connect.gelatoapis.com/product/v1/customer-products?search=Premium&customerIds=customer-123,customer-456&limit=25&offset=0' \
--header 'Accept: application/json' \
--header 'X-API-KEY: your-api-key'
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| customerProductIds | string | Optional | Comma-separated list of customer product IDs to retrieve |
| customerIds | string | Optional | Comma-separated list of customer IDs to filter by |
| productModelIds | string | Optional | Comma-separated list of product model IDs to filter by |
| search | string | Optional | Search string for customer product name (partial match) |
| offset | integer | Optional | Number of items to skip for pagination. Default: 0 |
| limit | integer | Optional | Maximum number of items to return (max: 250). Default: 250 |
Response Format
Returns a paginated list of customer products with metadata:
{
"customerProducts": [
{
"id": "380a3c58-bc3b-4b3a-93ff-bc2c12b654f3",
"name": "Business Card Premium",
"customerIds": ["customer-123", "customer-456"],
"productModelId": "de_demo_flat_product_kat",
"state": "published",
"createdAt": "2025-06-30T05:50:22Z",
"updatedAt": "2025-06-30T05:50:22Z",
"variantOptions": [
{
"id": "base_attributes",
"name": "Base Attributes",
"values": ["none"],
"defaultValue": "",
"attributesMapping": [
{
"partModelId": "de_demo_flat_product_kat",
"attributeIds": [
"CoatingType",
"PaperType",
"ProtectionType",
"ShapeEdgeType",
"SpotFinishingType",
"Variable"
]
}
],
"state": "published"
},
{
"id": "color_type",
"name": "Color Type",
"values": ["4-0", "4-4"],
"defaultValue": "4-0",
"attributesMapping": [
{
"partModelId": "de_demo_flat_product_kat",
"attributeIds": ["ColorType"]
}
],
"state": "published"
},
{
"id": "paper_format",
"name": "Paper Format",
"values": ["55 x 85 mm", "85 x 55 mm"],
"defaultValue": "55 x 85 mm",
"attributesMapping": [
{
"partModelId": "de_demo_flat_product_kat",
"attributeIds": ["PaperFormat"]
}
],
"state": "published"
}
]
}
],
"meta": {
"offset": 0,
"limit": 250,
"total": 1
}
}
Common Use Cases
Get All Customer Products:
curl --location --request GET 'https://connect.gelatoapis.com/product/v1/customer-products' \
--header 'Accept: application/json' \
--header 'X-API-KEY: your-api-key'
Search Products by Name:
curl --location --request GET 'https://connect.gelatoapis.com/product/v1/customer-products?search=Business%20Card' \
--header 'Accept: application/json' \
--header 'X-API-KEY: your-api-key'
Filter by Customer Access:
curl --location --request GET 'https://connect.gelatoapis.com/product/v1/customer-products?customerIds=customer-123,customer-456' \
--header 'Accept: application/json' \
--header 'X-API-KEY: your-api-key'
Get Specific Products with Pagination:
curl --location --request GET 'https://connect.gelatoapis.com/product/v1/customer-products?customerProductIds=380a3c58-bc3b-4b3a-93ff-bc2c12b654f3&offset=25&limit=50' \
--header 'Accept: application/json' \
--header 'X-API-KEY: your-api-key'
Filter by Product Model:
curl --location --request GET 'https://connect.gelatoapis.com/product/v1/customer-products?productModelIds=model-tshirt-001,model-poster-001' \
--header 'Accept: application/json' \
--header 'X-API-KEY: your-api-key'