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

Supply Chain & Retail Solutions API guide
Last updated Apr 16, 2026
SKU Calendar
Overview
The SKU Calendar resource defines the active date range during which a product-location combination (SKU) is considered live and eligible for replenishment planning. Each record specifies a start and end date for the SKU's activity window, enabling the system to include or exclude specific product-location pairs from planning runs based on their lifecycle status.
Resource Endpoint
/api/v2/ingest/object/INV_SKU_CALENDAR_OOTB
/api/v2/ingest/object/INV_SKU_CALENDAR_OOTB
Supported Methods
| Method | Return Type | Description |
|---|---|---|
| POST | Response | Ingest (create/update) SKU Calendar 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. Part of the composite primary key.
- location_id (string) - Unique identifier for the location. Part of the composite primary key.
- updated_at (timestamp) - Timestamp of the most recent update to the record. Part of the composite primary key.
Attributes
| Attribute | Data Type | Required | Description |
|---|---|---|---|
product_id | string | Yes | Unique identifier for the product |
location_id | string | Yes | Unique identifier for the location |
start_date | date | No | The date from which the SKU is considered active at this location, in YYYY-MM-DD format |
end_date | date | No | The date on which the SKU becomes inactive at this location, in YYYY-MM-DD format |
updated_at | timestamp | Yes | Timestamp of the most recent update to this record |
Relationships
Outbound References
The sku_calendar resource does not reference any downstream resources as foreign keys.
Inbound References
The following resources are referenced by sku_calendar:
- products —
product_id→products.product_id - locations —
location_id→locations.location_id
JSON Representation
{
"solutionName": "INV_OOTB",
"data": [
{
"product_id": "PROD-001",
"location_id": "LOC-001",
"start_date": "2025-01-01",
"end_date": "2025-12-31",
"updated_at": "2025-01-15 08:00:00"
}
],
"operationType": "UPSERT"
}
{
"solutionName": "INV_OOTB",
"data": [
{
"product_id": "PROD-001",
"location_id": "LOC-001",
"start_date": "2025-01-01",
"end_date": "2025-12-31",
"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_SKU_CALENDAR_OOTB' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"solutionName": "INV_OOTB",
"data": [
{
"product_id": "PROD-001",
"location_id": "LOC-001",
"start_date": "2025-01-01",
"end_date": "2025-12-31",
"updated_at": "2025-01-15 08:00:00"
}
],
"operationType": "UPSERT"
}'
curl -X POST \
'https://service.peak.ai/ingestion-api/api/v2/ingest/object/INV_SKU_CALENDAR_OOTB' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"solutionName": "INV_OOTB",
"data": [
{
"product_id": "PROD-001",
"location_id": "LOC-001",
"start_date": "2025-01-01",
"end_date": "2025-12-31",
"updated_at": "2025-01-15 08:00:00"
}
],
"operationType": "UPSERT"
}'
Important Notes
product_id,location_id, andupdated_attogether form the composite primary key. All three fields must be provided on every record.start_dateandend_dateare optional. When omitted, the SKU is assumed to be permanently active or the activity window is managed externally.- Dates must be provided in
YYYY-MM-DDformat. Timestamps must be inYYYY-MM-DD HH:MM:SSformat. product_idmust correspond to an existing record in the Products resource.location_idmust correspond to an existing record in the Locations resource.- Records are ingested via UPSERT: an existing record with matching primary keys will be updated; otherwise a new record is inserted.