industry-department-solutions
latest
false
- Overview
- API Resources

Supply Chain & Retail Solutions API guide
Last updated Apr 16, 2026
Products
Overview
The Products resource represents the catalogue of items managed within the inventory system. Each product record captures the item's identity, categorisation, packaging details, and source supplier reference. Products are the central entity in the data model, referenced by nearly every other resource.
Resource Endpoint
/api/v2/ingest/object/INV_PRODUCTS_OOTB
/api/v2/ingest/object/INV_PRODUCTS_OOTB
Supported Methods
| Method | Return Type | Description |
|---|---|---|
| POST | Response | Ingest (create/update) Products records via UPSERT operation |
Request Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Your Personal Access Token (PAT) from platform.peak.ai |
Content-Type | Yes | Must be application/json |
Properties
Primary Keys
- product_id (string) - Unique identifier for the product. Used as the primary key for deduplication and UPSERT operations.
- updated_at (timestamp) - Timestamp of the most recent update to the record. Combined with
product_idto form the composite primary key.
Attributes
| Attribute | Data Type | Required | Description |
|---|---|---|---|
product_id | string | Yes | Unique identifier for the product |
product_name | string | No | Human-readable name of the product |
product_description | string | No | Detailed description of the product |
product_category | string | No | Category or classification of the product |
source_id | string | Yes | Identifier of the primary supplier or source for this product |
pack_size | integer | Yes | Number of individual units contained within a single pack |
minimum_order_quantity | integer | No | Minimum number of units that can be ordered at one time |
product_image_urls | string | No | URL or comma-separated list of URLs pointing to product images |
updated_at | timestamp | Yes | Timestamp of the most recent update to this record |
Relationships
Outbound References
The products resource does not reference any other resource as a foreign key.
Inbound References
The following resources reference products via product_id:
- stock —
product_id→products.product_id - pricing —
product_id→products.product_id - order_parameters —
product_id→products.product_id - purchase_orders —
product_id→products.product_id - transfers —
product_id→products.product_id - manufacturing_orders —
product_id→products.product_id - production_lines —
product_id→products.product_id - sku_calendar —
product_id→products.product_id - sales —
product_id→products.product_id - customer_orders —
product_id→products.product_id - product_extra —
product_id→products.product_id - products_parent_child_mapping —
parent_id→products.product_idandchild_id→products.product_id
JSON Representation
{
"solutionName": "INV_OOTB",
"data": [
{
"product_id": "PROD-001",
"product_name": "Blue Widget",
"product_description": "A sturdy blue widget",
"product_category": "Widgets",
"source_id": "SUP-001",
"pack_size": 12,
"minimum_order_quantity": 24,
"product_image_urls": "https://example.com/img/prod001.jpg",
"updated_at": "2025-01-15 08:00:00"
}
],
"operationType": "UPSERT"
}
{
"solutionName": "INV_OOTB",
"data": [
{
"product_id": "PROD-001",
"product_name": "Blue Widget",
"product_description": "A sturdy blue widget",
"product_category": "Widgets",
"source_id": "SUP-001",
"pack_size": 12,
"minimum_order_quantity": 24,
"product_image_urls": "https://example.com/img/prod001.jpg",
"updated_at": "2025-01-15 08:00:00"
}
],
"operationType": "UPSERT"
}
Example Request
curl -X POST \
'https://service.peak.ai/ingestion-api/api/v2/ingest/object/INV_PRODUCTS_OOTB' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"solutionName": "INV_OOTB",
"data": [
{
"product_id": "PROD-001",
"product_name": "Blue Widget",
"product_description": "A sturdy blue widget",
"product_category": "Widgets",
"source_id": "SUP-001",
"pack_size": 12,
"minimum_order_quantity": 24,
"product_image_urls": "https://example.com/img/prod001.jpg",
"updated_at": "2025-01-15 08:00:00"
}
],
"operationType": "UPSERT"
}'
curl -X POST \
'https://service.peak.ai/ingestion-api/api/v2/ingest/object/INV_PRODUCTS_OOTB' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"solutionName": "INV_OOTB",
"data": [
{
"product_id": "PROD-001",
"product_name": "Blue Widget",
"product_description": "A sturdy blue widget",
"product_category": "Widgets",
"source_id": "SUP-001",
"pack_size": 12,
"minimum_order_quantity": 24,
"product_image_urls": "https://example.com/img/prod001.jpg",
"updated_at": "2025-01-15 08:00:00"
}
],
"operationType": "UPSERT"
}'
Important Notes
product_idandupdated_attogether form the composite primary key. Both fields must be provided on every record.source_idshould match a validsupplier_idin the Suppliers resource to maintain referential integrity.pack_sizeis required and must be a positive integer representing the number of sellable units per pack.- Timestamps must be provided in
YYYY-MM-DD HH:MM:SSformat. - Records are ingested via UPSERT: an existing record with matching primary keys will be updated; otherwise a new record is inserted.