Skip to content

List Product Models

Retrieve a list of product models from the product catalog with support for filtering and customizable response data.

GET /product/v1/product-models

Request Format

This is a GET request with optional query parameters for filtering and customization.

GET /product/v1/product-models?modelIds=model-123,model-456&state=active

Example curl request

curl --location --request GET 'https://connect.gelatoapis.com/product/v1/product-models?modelIds=model-tshirt-001,model-poster-001' \
--header 'Accept: application/json' \
--header 'X-API-KEY: your-api-key'

Request Parameters

Parameter Type Required Description
modelIds string Optional Comma-separated list of specific model IDs to retrieve
state string Optional Filter by model state. Options: active, inactive, draft

Response Format

Returns a list of product models with their attributes and metadata:

{
  "productModels": [
    {
      "id": "model-tshirt-001",
      "name": "Premium T-Shirt",
      "description": "High-quality cotton t-shirt with customizable design options",
      "previewURL": "https://cdn.gelato.com/models/tshirt-001/preview.jpg",
      "attributes": [
        {
          "id": "attr-color",
          "description": "Color options",
          "properties": [
            {
              "id": "prop-hex-code",
              "description": "Hex color code",
              "type": "string"
            },
            {
              "id": "prop-pantone",
              "description": "Pantone color reference",
              "type": "string"
            }
          ]
        },
        {
          "id": "attr-size",
          "description": "Size options",
          "properties": [
            {
              "id": "prop-dimensions",
              "description": "Physical dimensions",
              "type": "string"
            }
          ]
        }
      ],
      "productUidTemplate": "tshirt_{color}_{size}",
      "categoryId": "cat-apparel-001",
      "parts": [
        {
          "modelId": "model-tshirt-001",
          "id": "part-front",
          "name": "Front Design Area",
          "quantity": 1,
          "order": 1
        },
        {
          "modelId": "model-tshirt-001",
          "id": "part-back",
          "name": "Back Design Area",
          "quantity": 1,
          "order": 2
        }
      ],
      "state": "active"
    }
  ]
}

Common Use Cases

Get All Active Product Models:

curl --location --request GET 'https://connect.gelatoapis.com/product/v1/product-models?state=active' \
--header 'Accept: application/json' \
--header 'X-API-KEY: your-api-key'

Get Specific Models:

curl --location --request GET 'https://connect.gelatoapis.com/product/v1/product-models?modelIds=model-poster-001,model-mug-001' \
--header 'Accept: application/json' \
--header 'X-API-KEY: your-api-key'