- Overview
- Platform setup and administration
- Platform setup and administration
- Platform architecture
- Data Bridge onboarding overview
- Connecting a Peak-managed data lake
- Connecting a customer-managed data lake
- Creating an AWS IAM role for Data Bridge
- Connecting a Snowflake data warehouse
- Connecting a Redshift data warehouse (public connectivity)
- Connecting a Redshift data warehouse (private connectivity)
- Reauthorizing a Snowflake OAuth connection
- Using Snowflake with Peak
- SQL Explorer overview
- Roles and permissions
- User management
- Inventory management solution
- Commercial pricing solution
- Merchandising solution
Products dataset
Products dataset for the Commercial Pricing solution, containing product metadata required for pricing analysis, segmentation, and guardrail enforcement.
The Products dataset contains detailed metadata for products used in the commercial pricing solution. It defines the items being priced and provides attributes required for pricing analysis, segmentation, and guardrail enforcement.
This dataset is required for application deployment and pricing insights analysis.
→ For the canonical technical schema (data types, validation rules, request/response examples), see Product in the API Guide.
Purpose
The solution uses the Products dataset to:
- Identify products included in pricing analysis
- Enable pricing evaluation at product and category levels
- Support segmentation strategies (for example, bespoke vs standard products)
- Ensure consistent product identifiers across pricing datasets
This dataset is foundational for both List Pricing and Quote Pricing use cases.
Required fields
About the Constraint column: every field listed must be provided in your data. Non-null means its value cannot be null; Nullable means the value may be sent as null (or left blank in your source). Primary key, Unique, and Foreign key describe the field's role in the data model; a Primary key is always non-null.
| Field | Description | Type | Constraint |
|---|---|---|---|
product_id | Unique identifier for each product. | string | Primary key |
updated_at | Timestamp when the record was updated. | timestamp_tz | Primary key |
bespoke_product | Whether the product is bespoke (custom-made) or standard. | boolean | Nullable |
product_name | Product name. | string | Non-null |
product_category | Product category. | string | Nullable |
product_subcategory | Product sub-category. | string | Nullable |
Custom fields
The fields listed previously are the standard schema for this dataset. A field that your business requires but the standard schema does not include can be added as a custom attribute after the schema is rolled out. Custom attributes are additive, so they extend the dataset without affecting existing fields, and they are validated in the same way as standard fields.
The following request adds a SUPPLIER_CODE column to this dataset:
curl -X POST \
'https://ingestion.peak.ai/api/v2/schema/QP_PRODUCT_OOTB/add-attribute' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"solutionName": "QP_OOTB",
"columnName": "SUPPLIER_CODE",
"dataType": "string",
"validations": [
{ "type": "optional" }
]
}'
curl -X POST \
'https://ingestion.peak.ai/api/v2/schema/QP_PRODUCT_OOTB/add-attribute' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"solutionName": "QP_OOTB",
"columnName": "SUPPLIER_CODE",
"dataType": "string",
"validations": [
{ "type": "optional" }
]
}'
The table name in the request URL is this dataset's fully qualified warehouse name, which includes the prefix and suffix configured when your solution was rolled out — QP_PRODUCT_OOTB in this example. Retrieve the name for your own solution with Describe a solution's schema.
On standard tables the API prefixes the new column name in the warehouse with C_ (Snowflake) or c_ (Redshift), so SUPPLIER_CODE becomes C_SUPPLIER_CODE and warehouse queries must use the prefixed name.
→ For the full parameter reference, supported data types, and validation rules, see Customizations in the API Guide.
Usage notes
- All products referenced in the List Price, Product Cost, Quote Line, and Sales datasets must exist in the Products dataset.
- The
product_idmust be consistent across all related datasets. - The
bespoke_productfield supports differentiation between custom and standard products in pricing strategies. - Accurate categorization improves segmentation-based pricing recommendations.
Why this dataset matters
The Products dataset defines the scope of pricing analysis. Without it, the solution cannot reliably join cost, quote, sales, and list price data or apply product-level pricing strategies.