---
title: "Push products + stock FROM your ERP"
method: POST
path: "/ecommerce/inventory/products"
tags: ["Ecommerce — Inventory"]
---

# Push products + stock FROM your ERP

`POST /ecommerce/inventory/products`

## Request

- Base URL: `https://app.zobrx.com/api/v1`
- URL: `https://app.zobrx.com/api/v1/ecommerce/inventory/products`
- Auth: HTTP bearer

Inbound: your ERP pushes its catalog + stock to Zobrx. Idempotent per SKU and via the `Idempotency-Key` header. Requires scope `ecommerce:inventory:write`.

## Request body

- ErpProductPush: Inbound catalog + stock from your ERP. Prices in paise. Idempotent per SKU.
  - `products` object[], required
    - `sku` string, required
    - `name` string, nullable
    - `hsnCode` string, nullable
    - `brand` string, nullable
    - `mrpMinor` integer, nullable
    - `costMinor` integer, nullable
    - `stock` object[]
      - `warehouseCode` string, required
      - `availableQty` integer, required

## Response `201`

Ingest result.

- object
  - `upserted` integer
  - `linked` integer
  - `skipped` integer

## Other responses

- `400`: Invalid request body or parameters.
- `401`: Missing/invalid API key.
- `403`: The API key is missing the scope this endpoint requires.

---

[API](https://skmtc.dev/zobrx/apis/zobrx-api.md) · [All operations](https://skmtc.dev/zobrx/apis/zobrx-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zobrx/apis/zobrx-api/revisions/af90eac50273?raw)
