Skip to content

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'