Creates products in catalog

POST /catalog/product/

Allows batch create of products in the catalog.

application/json

Body Required

A list of products to create.

  • sku string Required

    Stock Keeping Unit (SKU).

    Minimum length is 1.

  • status integer Required

    Product statuses (e.g., 1 = Active, 2 = Inactive, 3 = Disabled, 4 = Preorder, 5 = Available, 7 = Draft, 8 = Pending, 9 = Private, 10 = Publish, 11 = Archived).

    Values are 1, 2, 3, 4, 5, 7, 8, 9, 10, or 11.

  • is_simple boolean Required

    Indicates whether the product is a simple product (true) or has variants (false).

  • currency string Required

    The currency code for the product's pricing, in ISO 4217 format (e.g., USD, EUR).

    Minimum length is 3, maximum length is 3. Format should match the following pattern: ^[A-Z]{3}$.

  • title string Required

    The title or name of the product.

  • A detailed description of the product.

  • images array[string(url)]

    URL of the product image.

  • attributes array[object]

    A list of key-value pairs representing attributes.

    Hide attributes attributes Show attributes attributes object
    • name string Required

      The name of the attribute (e.g., material, size, color).

    • value string Required

      The value of the attribute corresponding to its name (e.g., cotton, red, large).

  • variants array[object] Required

    A list of product variants.

    At least 1 element.

    Hide variants attributes Show variants attributes object
    • sku string Required

      Stock Keeping Unit (SKU).

      Minimum length is 1.

    • barcode null | string Required

      The unique barcode for the variant, such as UPC or EAN.

    • price number Required

      The price of the variant in the specified currency.

      Minimum value is 0, maximum value is 1000000.0.

    • quantity integer Required

      The available stock quantity for the variant.

      Minimum value is 0, maximum value is 1000000.

    • images array[string(url)]

      A list of image URLs representing the product variant.

    • options array[object]

      A list of options specifying attributes of the variant (e.g., size, color).

      Hide options attributes Show options attributes object
      • name string Required

        The name of the option.

      • value string Required

        The value of the option.

    • attributes array[object]

      A list of key-value pairs representing attributes.

      Hide attributes attributes Show attributes attributes object
      • name string Required

        The name of the attribute (e.g., material, size, color).

      • value string Required

        The value of the attribute corresponding to its name (e.g., cotton, red, large).

    • weight null | number

      The weight of the product variant.

      Minimum value is 0.

    • weight_unit null | string

      The unit of measurement for the weight.

      Values are GRAMS, KILOGRAMS, OUNCES, POUNDS, or TONNES.

    • height null | number

      The height of the product variant.

      Minimum value is 0.

    • depth null | number

      The depth of the product variant.

      Minimum value is 0.

    • width null | number

      The width of the product variant.

      Minimum value is 0.

    • dimension_unit null | string

      The unit of measurement for dimensions (height, width, depth).

      Values are MILLILITERS, CENTILITERS, DECIMETERS, METERS, INCHES, YARD, or FEET.

Responses

  • 200 application/json

    Successfully created products in catalog.

    Hide headers attributes Show headers attributes
    Hide response attribute Show response attribute object
    • deleted integer

      The count of products successfully created.

  • 400 application/json

    Bad request

    Hide headers attributes Show headers attributes
    Hide response attributes Show response attributes object
    • code string Required

      An error code that identifies the type of error that occurred.

    • message string Required

      A message that describes the error condition in a human-readable form.

    • data object | array Required

      Additional information that can help the caller understand or fix the issue.

  • 404 application/json

    Not found

    Hide response attributes Show response attributes object
    • code string Required

      An error code that identifies the type of error that occurred.

    • message string Required

      A message that describes the error condition in a human-readable form.

    • data object | array Required

      Additional information that can help the caller understand or fix the issue.

  • 401 application/json

    Unauthorized

    Hide response attributes Show response attributes object
    • code string Required

      An error code that identifies the type of error that occurred.

    • message string Required

      A message that describes the error condition in a human-readable form.

    • data object | array Required

      Additional information that can help the caller understand or fix the issue.

  • 429 application/json

    Too many requests

    Hide headers attributes Show headers attributes
    Hide response attributes Show response attributes object
    • code string Required

      An error code that identifies the type of error that occurred.

    • message string Required

      A message that describes the error condition in a human-readable form.

    • data object | array Required

      Additional information that can help the caller understand or fix the issue.

  • 500 application/json

    Internal server error

    Hide response attributes Show response attributes object
    • code string Required

      An error code that identifies the type of error that occurred.

    • message string Required

      A message that describes the error condition in a human-readable form.

    • data object | array Required

      Additional information that can help the caller understand or fix the issue.

POST /catalog/product/
curl \
 -X POST https://m2e.cloud/api/v1/api/catalog/product/ \
 -H "Content-Type: application/json" \
 -d '[{"sku":"test-product-SKU","status":1,"is_simple":false,"currency":"USD","title":"Wireless Bluetooth Headphones","description":"High-quality wireless Bluetooth headphones with noise-cancelling feature.","images":["https://example.com/product-image.jpg"],"attributes":[{"name":"material","value":"cotton"}],"variants":[{"sku":"WBH-12345","barcode":"012345678905","price":79.99,"quantity":100,"images":["https://example.com/variant-image1.jpg"],"options":[{"name":"Size","value":"Medium"}],"attributes":[{"name":"material","value":"cotton"}],"weight":0.5,"weight_unit":"GRAMS","height":10.0,"depth":5.0,"width":8.0,"dimension_unit":"CENTILITERS"}]}]'
Request examples
[
  {
    "sku": "test-product-SKU",
    "status": 1,
    "is_simple": false,
    "currency": "USD",
    "title": "Wireless Bluetooth Headphones",
    "description": "High-quality wireless Bluetooth headphones with noise-cancelling feature.",
    "images": [
      "https://example.com/product-image.jpg"
    ],
    "attributes": [
      {
        "name": "material",
        "value": "cotton"
      }
    ],
    "variants": [
      {
        "sku": "WBH-12345",
        "barcode": "012345678905",
        "price": 79.99,
        "quantity": 100,
        "images": [
          "https://example.com/variant-image1.jpg"
        ],
        "options": [
          {
            "name": "Size",
            "value": "Medium"
          }
        ],
        "attributes": [
          {
            "name": "material",
            "value": "cotton"
          }
        ],
        "weight": 0.5,
        "weight_unit": "GRAMS",
        "height": 10.0,
        "depth": 5.0,
        "width": 8.0,
        "dimension_unit": "CENTILITERS"
      }
    ]
  }
]
Response examples (200)
# Headers
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 90
X-RateLimit-Retry-After: 2022-11-04T13:43:28Z

# Payload
{
  "deleted": 10
}
Response examples (400)
[
  {
    "code": null,
    "message": "All array items must match schema"
  },
  {
    "code": null,
    "message": "The required properties (currency) are missing"
  }
]
Response examples (404)
[
  {
    "code": 404,
    "message": "Entity is not found."
  }
]
Response examples (401)
[
  {
    "code": 401,
    "message": "Unauthorized"
  }
]
Response examples (429)
[
  {
    "code": 429,
    "message": "Too many requests."
  }
]
Response examples (500)
[
  {
    "code": 500,
    "message": "Internal server error."
  }
]