Skip to main content

Supply Plan Upsert Ep

POST 

/v1/product_supply_plan/upsert_many

Create/Update Product Supply Plans

Creates a new product supply plan record or updates an existing one based on the natural key (store, product, rank, effective_from), with automatic conflict resolution for overlapping date ranges at the same rank.

Required Scopes (isp.w)

Each reference (store, product, terminal, supplier) accepts an id, a name, or a partner source_system/source_id pair - see HierarchyKey.

Responses​

Successful Response

{
"updated": [
{
"id": "5eb7cf5a86d9755df3a6c593",
"store_id": "5eb7cf5a86d9755df3a6c593",
"store": "string",
"product_id": "5eb7cf5a86d9755df3a6c593",
"product": "string",
"rank": 0,
"effective_from": "2026-09-25T19:33:18.255Z",
"effective_to": "2026-09-25T19:33:18.255Z",
"locked": true,
"supply_mode": "specific",
"components": [
{
"terminal_id": "5eb7cf5a86d9755df3a6c593",
"terminal": "string",
"supplier_id": "5eb7cf5a86d9755df3a6c593",
"supplier": "string",
"product_id": "5eb7cf5a86d9755df3a6c593",
"product": "string",
"curve_id": "string",
"price_type": "string",
"contract_number": "string",
"supply_owner": "string"
}
],
"best_rack_supply_zone": "string",
"best_rack_terminal_id": "5eb7cf5a86d9755df3a6c593",
"best_rack_terminal": "string",
"generate_lifting_volume": true,
"source": "string",
"created_at": "2026-09-25T19:33:18.255Z",
"updated_at": "2026-09-25T19:33:18.255Z",
"carrier": "string",
"daily_demand": 0,
"tank_ids": [
"string"
],
"sent_status": "not_sent",
"sent_at": "2026-09-25T19:33:18.255Z",
"send_error": "string",
"crossroads_metadata": {
"integration_status": "origin_mapped",
"integration_error": "string",
"integration_error_category": "string",
"crossroads_supply_plan_id": "string",
"partner_goid": "string",
"url": "string",
"updated_on": "2026-09-25T19:33:18.255Z"
}
}
],
"modified_records": [
"5eb7cf5a86d9755df3a6c593"
],
"errors": [
"string"
]
}
Loading...