Inventory Sync
Use this API when an external platform, inventory tool, or middleware system needs to push current variant stock levels into Mulltiply.
At A Glance
POST
/v2/godowns/thirdparty-stock-sync| Area | Detail |
|---|---|
| Base URL | https://api.mulltiply.org |
| Content type | application/json |
| Authentication | x-api-key request header |
| Request body | Array of stock update objects |
| Object type | Flat object, no nested fields |
Headers
Content-Type: application/json
x-api-key: YOUR_API_KEY
Request Body
Each object represents the inventory update for one product variant.
| Field | Type | Required | Description |
|---|---|---|---|
syncId | string | Yes | Product variant identifier from the third-party system. |
inventoryQuantity | number | Yes | Latest stock quantity to sync into Mulltiply. |
- JSON Body
- cURL
Request body
[
{
"syncId": "external://variant/VAR-1001",
"inventoryQuantity": 100
},
{
"syncId": "external://variant/VAR-1002",
"inventoryQuantity": 851
}
]
Inventory sync request
curl --request POST \
--url 'https://api.mulltiply.org/v2/godowns/thirdparty-stock-sync' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '[{"syncId":"external://variant/VAR-1001","inventoryQuantity":100}]'
Field Mapping
| API field | Source field | Description |
|---|---|---|
syncId | Product Variant ID | Unique product variant identifier from the source platform. |
inventoryQuantity | Inventory Quantity | Stock quantity that should be stored in Mulltiply. |
Processing Rules
- Send one object per product variant.
- Use the source platform's variant ID as
syncId. - Send the latest known stock value as
inventoryQuantity. - Put multiple updates in one request array when syncing in bulk.
- Treat each row independently; one invalid row should not imply that every row is invalid.
note
The source document says missing or unknown syncId values may be ignored or
rejected depending on system configuration. Treat unknown IDs as validation
errors unless your environment confirms otherwise.
Final Payload Example
Final payload
[
{
"syncId": "external://variant/VAR-1001",
"inventoryQuantity": 100
},
{
"syncId": "external://variant/VAR-1002",
"inventoryQuantity": 850
},
{
"syncId": "external://variant/VAR-1003",
"inventoryQuantity": 333
},
{
"syncId": "external://variant/VAR-1004",
"inventoryQuantity": 1000
}
]
Source Data Checklist
| Source field | Source | Used for |
|---|---|---|
| Product Variant ID | Third-party API | syncId |
| Inventory Quantity | Third-party API | inventoryQuantity |
Response
The response can include valid row counts and non-processable stock rows.
Response with invalid stock rows
{
"error": false,
"status": true,
"statusCode": 200,
"responseTimestamp": "2026-03-19T08:38:58.807Z",
"data": {
"validRowsCount": 1,
"nonProcessablesStocks": [
{
"syncId": "external://variant/VAR-1001",
"inventoryQuantity": -998,
"error": "Invalid inventoryQuantity",
"row": 1,
"itemName": "external://variant/VAR-1001"
},
{
"inventoryQuantity": 333,
"error": "Invalid syncId",
"row": 3,
"itemName": "N/A"
}
]
}
}
Implementation Checklist
- Confirm every row has a
syncId. - Confirm the
syncIdexists in Mulltiply for third-party synchronization. - Confirm
inventoryQuantityis numeric. - Reject or fix negative stock quantities before sending unless your business process allows them.
- Send an array for both single and bulk updates.