---
title: "Add/update products"
method: POST
path: "/api/v1/products"
tags: ["Products and markets"]
---

# Add/update products

`POST /api/v1/products`

## Request

- Base URL: `https://yespo.io` (the document declares no server; this is the origin it was published from)
- URL: `https://yespo.io/api/v1/products`
- Auth: HTTP basic

## Request body

- ProductSyncRequest: Products create/update request
  - `languageCode` string: Default language for top-level product fields
  - `products` ProductSyncItem[]: Products to create or update
    - `action` 'create' | 'update': Product sync action
    - `productId` string: Unique product identifier within siteId
    - `updatedDate` string: Source ordering timestamp in UTC
    - `itemGroupId` string: Shared family/group identifier for variants
    - `name` string: Display name in default language
    - `description` string: Plain text description in default language
    - `url` string: Product URL for default language
    - `imageUrl` string: Main image URL
    - `brand` string: Brand or manufacturer
    - `isInStock` integer: Base availability: 1 = in stock, 0 = out of stock
    - `price` number: Base selling price
    - `oldPrice` number: Base original price
    - `currency` string: ISO 4217 currency code
    - `categories` ProductCategory[]: Product categories in default language
      - `id` string: Category identifier
      - `name` string: Category name
      - `path` string[]: Category hierarchy from root to leaf
      - `type` 'category' | 'collection': Category type
    - `translations` object[]: Translations keyed by BCP 47 language code
    - `tags` object: Product tags keyed by tag name
    - `remove` ProductRemovePatch: Product remove patch
      - `fields` string[]: Product fields to remove
      - `tags` string[]: Tag names to remove

## Response `200`

Products accepted

## Other responses

- `207`: Products partially accepted
- `400`: Bad request
- `409`: Language mismatch
- `413`: Request entity too large
- `429`: Too many requests
- `502`: Downstream service error

---

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