Skip to main content
POST
{micro_service_base_url}
/
inventory-service-v2
/
companies
/
1000019
/
products
/
bulk
/
csv
Upsert Products using CSV
curl --request POST \
  --url 'https://api.example.com/{{micro_service_base_url}}/inventory-service-v2/companies/1000019/products/bulk/csv' \
  --header 'Content-Type: application/json' \
  --data '{}'
import requests

url = "https://api.example.com/{{micro_service_base_url}}/inventory-service-v2/companies/1000019/products/bulk/csv"

payload = {}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({})
};

fetch('https://api.example.com/{{micro_service_base_url}}/inventory-service-v2/companies/1000019/products/bulk/csv', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/{{micro_service_base_url}}/inventory-service-v2/companies/1000019/products/bulk/csv",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([

]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.example.com/{{micro_service_base_url}}/inventory-service-v2/companies/1000019/products/bulk/csv"

payload := strings.NewReader("{}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.example.com/{{micro_service_base_url}}/inventory-service-v2/companies/1000019/products/bulk/csv")
.header("Content-Type", "application/json")
.body("{}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.example.com/{{micro_service_base_url}}/inventory-service-v2/companies/1000019/products/bulk/csv")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"

response = http.request(request)
puts response.read_body
This endpoint processes CSV files containing product data and updates your store’s inventory accordingly. All products in the CSV will be validated against our validation rules before being processed.
Only products that pass all validation rules will be inserted or updated in your inventory.

Body

file
file
required
The CSV file containing product data to be uploaded and processed

Response

This endpoint processes the file asynchronously. No immediate response body is provided.
The system will process your CSV file in the background. You can check the status of the ingestion job using the Get Job Status endpoint.
Make sure your CSV file follows the correct format with all required fields to ensure successful processing.