Skip to main content
PUT
/
api
/
v1
/
catalog
/
products
Upsert Products
curl --request PUT \
  --url https://api.example.com/api/v1/catalog/products \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "products": [
    {
      "brand": "Lactel",
      "category_path": "Молочні продукти > Молоко",
      "image_url": "https://cdn.example.com/milk-001.jpg",
      "name": "Молоко Lactel 2.5% 900мл",
      "sku": "milk-001",
      "unit": "pcs",
      "volume": 900
    }
  ]
}
'
{
  "job_id": "<string>",
  "total": 123,
  "to_embed": 123,
  "unchanged": 123,
  "status": "accepted"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
products
ProductInput · object[]
required

Array of products to create or update

Response

Successful Response

job_id
string
required

Unique job identifier for tracking progress via GET /catalog/jobs/{job_id}

total
integer
required

Total number of products in this upload

to_embed
integer
required

Number of products queued for embedding (new or changed content)

unchanged
integer
required

Number of products skipped (content unchanged, no re-embedding needed)

status
string
default:accepted

Initial job status (always 'accepted')