curl --request POST \
--url https://api-staging.genuka.com/2023-11/admin/products \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
"{\n \"title\": \"Arachide blanc du ndole\",\n \"handle\": \"arachide-blanc-du-ndole\",\n \"content\": \"Une description ici\",\n \"published\": 1,\n \"variants\": [\n {\n \"title\": \"Default Title\",\n \"price\": 6500,\n \"compared_at_price\": null,\n \"inventory_quantity\": 32,\n \"position\": 1,\n \"sku\": \"le paquet\",\n \"barcode\": \"456340560\"\n }\n ],\n \"options\": [\n {\n \"title\": \"Title\",\n \"position\": 1,\n \"values\": [\n \"Default Title\"\n ],\n \"product_id\": \"\"\n }\n ],\n \"medias\": [],\n \"tags\": [\n {\n \"name\": \"Tag Nouveau 1\" // Création d'un nouveau tag\n },\n {\n \"name\": \"Tag Nouveau 2\" // Création d'un autre nouveau tag\n }\n ]\n}"
EOFimport requests
url = "https://api-staging.genuka.com/2023-11/admin/products"
payload = "{
\"title\": \"Arachide blanc du ndole\",
\"handle\": \"arachide-blanc-du-ndole\",
\"content\": \"Une description ici\",
\"published\": 1,
\"variants\": [
{
\"title\": \"Default Title\",
\"price\": 6500,
\"compared_at_price\": null,
\"inventory_quantity\": 32,
\"position\": 1,
\"sku\": \"le paquet\",
\"barcode\": \"456340560\"
}
],
\"options\": [
{
\"title\": \"Title\",
\"position\": 1,
\"values\": [
\"Default Title\"
],
\"product_id\": \"\"
}
],
\"medias\": [],
\"tags\": [
{
\"name\": \"Tag Nouveau 1\" // Création d'un nouveau tag
},
{
\"name\": \"Tag Nouveau 2\" // Création d'un autre nouveau tag
}
]
}"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify('{\n "title": "Arachide blanc du ndole",\n "handle": "arachide-blanc-du-ndole",\n "content": "Une description ici",\n "published": 1,\n "variants": [\n {\n "title": "Default Title",\n "price": 6500,\n "compared_at_price": null,\n "inventory_quantity": 32,\n "position": 1,\n "sku": "le paquet",\n "barcode": "456340560"\n }\n ],\n "options": [\n {\n "title": "Title",\n "position": 1,\n "values": [\n "Default Title"\n ],\n "product_id": ""\n }\n ],\n "medias": [],\n "tags": [\n {\n "name": "Tag Nouveau 1" // Création d\'un nouveau tag\n },\n {\n "name": "Tag Nouveau 2" // Création d\'un autre nouveau tag\n }\n ]\n}')
};
fetch('https://api-staging.genuka.com/2023-11/admin/products', 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-staging.genuka.com/2023-11/admin/products",
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('{
"title": "Arachide blanc du ndole",
"handle": "arachide-blanc-du-ndole",
"content": "Une description ici",
"published": 1,
"variants": [
{
"title": "Default Title",
"price": 6500,
"compared_at_price": null,
"inventory_quantity": 32,
"position": 1,
"sku": "le paquet",
"barcode": "456340560"
}
],
"options": [
{
"title": "Title",
"position": 1,
"values": [
"Default Title"
],
"product_id": ""
}
],
"medias": [],
"tags": [
{
"name": "Tag Nouveau 1" // Création d\'un nouveau tag
},
{
"name": "Tag Nouveau 2" // Création d\'un autre nouveau tag
}
]
}'),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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-staging.genuka.com/2023-11/admin/products"
payload := strings.NewReader("\"{\\n \\\"title\\\": \\\"Arachide blanc du ndole\\\",\\n \\\"handle\\\": \\\"arachide-blanc-du-ndole\\\",\\n \\\"content\\\": \\\"Une description ici\\\",\\n \\\"published\\\": 1,\\n \\\"variants\\\": [\\n {\\n \\\"title\\\": \\\"Default Title\\\",\\n \\\"price\\\": 6500,\\n \\\"compared_at_price\\\": null,\\n \\\"inventory_quantity\\\": 32,\\n \\\"position\\\": 1,\\n \\\"sku\\\": \\\"le paquet\\\",\\n \\\"barcode\\\": \\\"456340560\\\"\\n }\\n ],\\n \\\"options\\\": [\\n {\\n \\\"title\\\": \\\"Title\\\",\\n \\\"position\\\": 1,\\n \\\"values\\\": [\\n \\\"Default Title\\\"\\n ],\\n \\\"product_id\\\": \\\"\\\"\\n }\\n ],\\n \\\"medias\\\": [],\\n \\\"tags\\\": [\\n {\\n \\\"name\\\": \\\"Tag Nouveau 1\\\" // Création d'un nouveau tag\\n },\\n {\\n \\\"name\\\": \\\"Tag Nouveau 2\\\" // Création d'un autre nouveau tag\\n }\\n ]\\n}\"")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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-staging.genuka.com/2023-11/admin/products")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("\"{\\n \\\"title\\\": \\\"Arachide blanc du ndole\\\",\\n \\\"handle\\\": \\\"arachide-blanc-du-ndole\\\",\\n \\\"content\\\": \\\"Une description ici\\\",\\n \\\"published\\\": 1,\\n \\\"variants\\\": [\\n {\\n \\\"title\\\": \\\"Default Title\\\",\\n \\\"price\\\": 6500,\\n \\\"compared_at_price\\\": null,\\n \\\"inventory_quantity\\\": 32,\\n \\\"position\\\": 1,\\n \\\"sku\\\": \\\"le paquet\\\",\\n \\\"barcode\\\": \\\"456340560\\\"\\n }\\n ],\\n \\\"options\\\": [\\n {\\n \\\"title\\\": \\\"Title\\\",\\n \\\"position\\\": 1,\\n \\\"values\\\": [\\n \\\"Default Title\\\"\\n ],\\n \\\"product_id\\\": \\\"\\\"\\n }\\n ],\\n \\\"medias\\\": [],\\n \\\"tags\\\": [\\n {\\n \\\"name\\\": \\\"Tag Nouveau 1\\\" // Création d'un nouveau tag\\n },\\n {\\n \\\"name\\\": \\\"Tag Nouveau 2\\\" // Création d'un autre nouveau tag\\n }\\n ]\\n}\"")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.genuka.com/2023-11/admin/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "\"{\\n \\\"title\\\": \\\"Arachide blanc du ndole\\\",\\n \\\"handle\\\": \\\"arachide-blanc-du-ndole\\\",\\n \\\"content\\\": \\\"Une description ici\\\",\\n \\\"published\\\": 1,\\n \\\"variants\\\": [\\n {\\n \\\"title\\\": \\\"Default Title\\\",\\n \\\"price\\\": 6500,\\n \\\"compared_at_price\\\": null,\\n \\\"inventory_quantity\\\": 32,\\n \\\"position\\\": 1,\\n \\\"sku\\\": \\\"le paquet\\\",\\n \\\"barcode\\\": \\\"456340560\\\"\\n }\\n ],\\n \\\"options\\\": [\\n {\\n \\\"title\\\": \\\"Title\\\",\\n \\\"position\\\": 1,\\n \\\"values\\\": [\\n \\\"Default Title\\\"\\n ],\\n \\\"product_id\\\": \\\"\\\"\\n }\\n ],\\n \\\"medias\\\": [],\\n \\\"tags\\\": [\\n {\\n \\\"name\\\": \\\"Tag Nouveau 1\\\" // Création d'un nouveau tag\\n },\\n {\\n \\\"name\\\": \\\"Tag Nouveau 2\\\" // Création d'un autre nouveau tag\\n }\\n ]\\n}\""
response = http.request(request)
puts response.read_body{
"buffer_minutes": 0,
"company_id": "01k7464hqksr4f99rp3ff7x2jz",
"compare_at_price": null,
"content": "Une description ici",
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"first_variant": {
"barcode": "456340560",
"base_title": "Default Title",
"buffer_minutes": 0,
"compare_at_price": null,
"composite_stocks": [],
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"estimated_quantity": null,
"estimated_quantity_by_warehouse": [],
"follow_stock": 0,
"id": "01k74h4addkn48aptf2xyp5cyw",
"image_id": null,
"metadata": null,
"min_order_quantity": 1,
"options": [
0
],
"position": 1,
"price": 6500,
"product_id": "01k74h4acesr6y7vp6krqt5dqf",
"professionals": [],
"service": {
"buffer_minutes": 0,
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"id": "01k74h4aeabwm6pkc1m5m9kjfp",
"metadata": null,
"product_variant_id": "01k74h4addkn48aptf2xyp5cyw",
"professionals": [],
"updated_at": "2025-10-09T13:03:54.000000Z"
},
"service_id": "01k74h4aeabwm6pkc1m5m9kjfp",
"sku": "le paquet",
"supplierproduct": null,
"taxable": 1,
"title": "Default Title",
"updated_at": "2025-10-09T13:03:54.000000Z",
"whatsapp_product_id": null
},
"follow_stock": false,
"handle": "arachide-blanc-du-ndole-pSzIiNNp",
"has_variants": true,
"id": "01k74h4acesr6y7vp6krqt5dqf",
"is_shippable": 1,
"is_taxable": 1,
"medias": [],
"menus": [],
"metadata": {
"image_ready": false
},
"min_price": 6500,
"options": [
{
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"id": "01k74h4afrgjy1st477j1esybm",
"metadata": null,
"position": 1,
"product_id": "01k74h4acesr6y7vp6krqt5dqf",
"title": "Title",
"updated_at": "2025-10-09T13:03:54.000000Z",
"values": [
"Default Title"
]
}
],
"professionals": [],
"published": 1,
"remaining_stocks": null,
"supplier_id": null,
"tags": [
{
"company_id": "01k7464hqksr4f99rp3ff7x2jz",
"created_at": "2025-10-09T09:57:33.000000Z",
"id": "01k746f3hn5q8z1kw9m69v1h6a",
"name": "TAG NOUVEAU 1",
"pivot": {
"created_at": "2025-10-09T13:03:54.000000Z",
"tag_id": "01k746f3hn5q8z1kw9m69v1h6a",
"taggable_id": "01k74h4acesr6y7vp6krqt5dqf",
"taggable_type": "App\\Models\\Product",
"updated_at": "2025-10-09T13:03:54.000000Z"
},
"updated_at": "2025-10-09T09:57:33.000000Z"
},
{
"company_id": "01k7464hqksr4f99rp3ff7x2jz",
"created_at": "2025-10-09T09:57:33.000000Z",
"id": "01k746f3jd4tc7z3jkdf5nm4bw",
"name": "TAG NOUVEAU 2",
"pivot": {
"created_at": "2025-10-09T13:03:54.000000Z",
"tag_id": "01k746f3jd4tc7z3jkdf5nm4bw",
"taggable_id": "01k74h4acesr6y7vp6krqt5dqf",
"taggable_type": "App\\Models\\Product",
"updated_at": "2025-10-09T13:03:54.000000Z"
},
"updated_at": "2025-10-09T09:57:33.000000Z"
}
],
"title": "Arachide blanc du ndole",
"type": "physical_goods",
"updated_at": "2025-10-09T13:03:54.000000Z",
"variants": [
{
"barcode": "456340560",
"base_title": "Default Title",
"buffer_minutes": 0,
"compare_at_price": null,
"composite_stocks": [],
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"estimated_quantity": null,
"estimated_quantity_by_warehouse": [],
"follow_stock": 0,
"id": "01k74h4addkn48aptf2xyp5cyw",
"image_id": null,
"load_product": false,
"metadata": null,
"min_order_quantity": 1,
"options": [
0
],
"position": 1,
"price": 6500,
"product_id": "01k74h4acesr6y7vp6krqt5dqf",
"professionals": [],
"service": {
"buffer_minutes": 0,
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"id": "01k74h4aeabwm6pkc1m5m9kjfp",
"metadata": null,
"product_variant_id": "01k74h4addkn48aptf2xyp5cyw",
"professionals": [],
"updated_at": "2025-10-09T13:03:54.000000Z"
},
"service_id": "01k74h4aeabwm6pkc1m5m9kjfp",
"sku": "le paquet",
"stocks": [],
"supplierproduct": null,
"taxable": 1,
"title": "Default Title",
"updated_at": "2025-10-09T13:03:54.000000Z",
"whatsapp_product_id": null
}
],
"variants_count": 1,
"vendor": null
}Create product
Create a new product in Genuka. This endpoint allows administrators to add a new product by providing essential details such as the product name, price, category, stock levels, media, and any additional metadata. Once created, the product becomes available in the merchant catalog and can be synchronized with sales channels such as online stores.
curl --request POST \
--url https://api-staging.genuka.com/2023-11/admin/products \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
"{\n \"title\": \"Arachide blanc du ndole\",\n \"handle\": \"arachide-blanc-du-ndole\",\n \"content\": \"Une description ici\",\n \"published\": 1,\n \"variants\": [\n {\n \"title\": \"Default Title\",\n \"price\": 6500,\n \"compared_at_price\": null,\n \"inventory_quantity\": 32,\n \"position\": 1,\n \"sku\": \"le paquet\",\n \"barcode\": \"456340560\"\n }\n ],\n \"options\": [\n {\n \"title\": \"Title\",\n \"position\": 1,\n \"values\": [\n \"Default Title\"\n ],\n \"product_id\": \"\"\n }\n ],\n \"medias\": [],\n \"tags\": [\n {\n \"name\": \"Tag Nouveau 1\" // Création d'un nouveau tag\n },\n {\n \"name\": \"Tag Nouveau 2\" // Création d'un autre nouveau tag\n }\n ]\n}"
EOFimport requests
url = "https://api-staging.genuka.com/2023-11/admin/products"
payload = "{
\"title\": \"Arachide blanc du ndole\",
\"handle\": \"arachide-blanc-du-ndole\",
\"content\": \"Une description ici\",
\"published\": 1,
\"variants\": [
{
\"title\": \"Default Title\",
\"price\": 6500,
\"compared_at_price\": null,
\"inventory_quantity\": 32,
\"position\": 1,
\"sku\": \"le paquet\",
\"barcode\": \"456340560\"
}
],
\"options\": [
{
\"title\": \"Title\",
\"position\": 1,
\"values\": [
\"Default Title\"
],
\"product_id\": \"\"
}
],
\"medias\": [],
\"tags\": [
{
\"name\": \"Tag Nouveau 1\" // Création d'un nouveau tag
},
{
\"name\": \"Tag Nouveau 2\" // Création d'un autre nouveau tag
}
]
}"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify('{\n "title": "Arachide blanc du ndole",\n "handle": "arachide-blanc-du-ndole",\n "content": "Une description ici",\n "published": 1,\n "variants": [\n {\n "title": "Default Title",\n "price": 6500,\n "compared_at_price": null,\n "inventory_quantity": 32,\n "position": 1,\n "sku": "le paquet",\n "barcode": "456340560"\n }\n ],\n "options": [\n {\n "title": "Title",\n "position": 1,\n "values": [\n "Default Title"\n ],\n "product_id": ""\n }\n ],\n "medias": [],\n "tags": [\n {\n "name": "Tag Nouveau 1" // Création d\'un nouveau tag\n },\n {\n "name": "Tag Nouveau 2" // Création d\'un autre nouveau tag\n }\n ]\n}')
};
fetch('https://api-staging.genuka.com/2023-11/admin/products', 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-staging.genuka.com/2023-11/admin/products",
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('{
"title": "Arachide blanc du ndole",
"handle": "arachide-blanc-du-ndole",
"content": "Une description ici",
"published": 1,
"variants": [
{
"title": "Default Title",
"price": 6500,
"compared_at_price": null,
"inventory_quantity": 32,
"position": 1,
"sku": "le paquet",
"barcode": "456340560"
}
],
"options": [
{
"title": "Title",
"position": 1,
"values": [
"Default Title"
],
"product_id": ""
}
],
"medias": [],
"tags": [
{
"name": "Tag Nouveau 1" // Création d\'un nouveau tag
},
{
"name": "Tag Nouveau 2" // Création d\'un autre nouveau tag
}
]
}'),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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-staging.genuka.com/2023-11/admin/products"
payload := strings.NewReader("\"{\\n \\\"title\\\": \\\"Arachide blanc du ndole\\\",\\n \\\"handle\\\": \\\"arachide-blanc-du-ndole\\\",\\n \\\"content\\\": \\\"Une description ici\\\",\\n \\\"published\\\": 1,\\n \\\"variants\\\": [\\n {\\n \\\"title\\\": \\\"Default Title\\\",\\n \\\"price\\\": 6500,\\n \\\"compared_at_price\\\": null,\\n \\\"inventory_quantity\\\": 32,\\n \\\"position\\\": 1,\\n \\\"sku\\\": \\\"le paquet\\\",\\n \\\"barcode\\\": \\\"456340560\\\"\\n }\\n ],\\n \\\"options\\\": [\\n {\\n \\\"title\\\": \\\"Title\\\",\\n \\\"position\\\": 1,\\n \\\"values\\\": [\\n \\\"Default Title\\\"\\n ],\\n \\\"product_id\\\": \\\"\\\"\\n }\\n ],\\n \\\"medias\\\": [],\\n \\\"tags\\\": [\\n {\\n \\\"name\\\": \\\"Tag Nouveau 1\\\" // Création d'un nouveau tag\\n },\\n {\\n \\\"name\\\": \\\"Tag Nouveau 2\\\" // Création d'un autre nouveau tag\\n }\\n ]\\n}\"")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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-staging.genuka.com/2023-11/admin/products")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("\"{\\n \\\"title\\\": \\\"Arachide blanc du ndole\\\",\\n \\\"handle\\\": \\\"arachide-blanc-du-ndole\\\",\\n \\\"content\\\": \\\"Une description ici\\\",\\n \\\"published\\\": 1,\\n \\\"variants\\\": [\\n {\\n \\\"title\\\": \\\"Default Title\\\",\\n \\\"price\\\": 6500,\\n \\\"compared_at_price\\\": null,\\n \\\"inventory_quantity\\\": 32,\\n \\\"position\\\": 1,\\n \\\"sku\\\": \\\"le paquet\\\",\\n \\\"barcode\\\": \\\"456340560\\\"\\n }\\n ],\\n \\\"options\\\": [\\n {\\n \\\"title\\\": \\\"Title\\\",\\n \\\"position\\\": 1,\\n \\\"values\\\": [\\n \\\"Default Title\\\"\\n ],\\n \\\"product_id\\\": \\\"\\\"\\n }\\n ],\\n \\\"medias\\\": [],\\n \\\"tags\\\": [\\n {\\n \\\"name\\\": \\\"Tag Nouveau 1\\\" // Création d'un nouveau tag\\n },\\n {\\n \\\"name\\\": \\\"Tag Nouveau 2\\\" // Création d'un autre nouveau tag\\n }\\n ]\\n}\"")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.genuka.com/2023-11/admin/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "\"{\\n \\\"title\\\": \\\"Arachide blanc du ndole\\\",\\n \\\"handle\\\": \\\"arachide-blanc-du-ndole\\\",\\n \\\"content\\\": \\\"Une description ici\\\",\\n \\\"published\\\": 1,\\n \\\"variants\\\": [\\n {\\n \\\"title\\\": \\\"Default Title\\\",\\n \\\"price\\\": 6500,\\n \\\"compared_at_price\\\": null,\\n \\\"inventory_quantity\\\": 32,\\n \\\"position\\\": 1,\\n \\\"sku\\\": \\\"le paquet\\\",\\n \\\"barcode\\\": \\\"456340560\\\"\\n }\\n ],\\n \\\"options\\\": [\\n {\\n \\\"title\\\": \\\"Title\\\",\\n \\\"position\\\": 1,\\n \\\"values\\\": [\\n \\\"Default Title\\\"\\n ],\\n \\\"product_id\\\": \\\"\\\"\\n }\\n ],\\n \\\"medias\\\": [],\\n \\\"tags\\\": [\\n {\\n \\\"name\\\": \\\"Tag Nouveau 1\\\" // Création d'un nouveau tag\\n },\\n {\\n \\\"name\\\": \\\"Tag Nouveau 2\\\" // Création d'un autre nouveau tag\\n }\\n ]\\n}\""
response = http.request(request)
puts response.read_body{
"buffer_minutes": 0,
"company_id": "01k7464hqksr4f99rp3ff7x2jz",
"compare_at_price": null,
"content": "Une description ici",
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"first_variant": {
"barcode": "456340560",
"base_title": "Default Title",
"buffer_minutes": 0,
"compare_at_price": null,
"composite_stocks": [],
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"estimated_quantity": null,
"estimated_quantity_by_warehouse": [],
"follow_stock": 0,
"id": "01k74h4addkn48aptf2xyp5cyw",
"image_id": null,
"metadata": null,
"min_order_quantity": 1,
"options": [
0
],
"position": 1,
"price": 6500,
"product_id": "01k74h4acesr6y7vp6krqt5dqf",
"professionals": [],
"service": {
"buffer_minutes": 0,
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"id": "01k74h4aeabwm6pkc1m5m9kjfp",
"metadata": null,
"product_variant_id": "01k74h4addkn48aptf2xyp5cyw",
"professionals": [],
"updated_at": "2025-10-09T13:03:54.000000Z"
},
"service_id": "01k74h4aeabwm6pkc1m5m9kjfp",
"sku": "le paquet",
"supplierproduct": null,
"taxable": 1,
"title": "Default Title",
"updated_at": "2025-10-09T13:03:54.000000Z",
"whatsapp_product_id": null
},
"follow_stock": false,
"handle": "arachide-blanc-du-ndole-pSzIiNNp",
"has_variants": true,
"id": "01k74h4acesr6y7vp6krqt5dqf",
"is_shippable": 1,
"is_taxable": 1,
"medias": [],
"menus": [],
"metadata": {
"image_ready": false
},
"min_price": 6500,
"options": [
{
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"id": "01k74h4afrgjy1st477j1esybm",
"metadata": null,
"position": 1,
"product_id": "01k74h4acesr6y7vp6krqt5dqf",
"title": "Title",
"updated_at": "2025-10-09T13:03:54.000000Z",
"values": [
"Default Title"
]
}
],
"professionals": [],
"published": 1,
"remaining_stocks": null,
"supplier_id": null,
"tags": [
{
"company_id": "01k7464hqksr4f99rp3ff7x2jz",
"created_at": "2025-10-09T09:57:33.000000Z",
"id": "01k746f3hn5q8z1kw9m69v1h6a",
"name": "TAG NOUVEAU 1",
"pivot": {
"created_at": "2025-10-09T13:03:54.000000Z",
"tag_id": "01k746f3hn5q8z1kw9m69v1h6a",
"taggable_id": "01k74h4acesr6y7vp6krqt5dqf",
"taggable_type": "App\\Models\\Product",
"updated_at": "2025-10-09T13:03:54.000000Z"
},
"updated_at": "2025-10-09T09:57:33.000000Z"
},
{
"company_id": "01k7464hqksr4f99rp3ff7x2jz",
"created_at": "2025-10-09T09:57:33.000000Z",
"id": "01k746f3jd4tc7z3jkdf5nm4bw",
"name": "TAG NOUVEAU 2",
"pivot": {
"created_at": "2025-10-09T13:03:54.000000Z",
"tag_id": "01k746f3jd4tc7z3jkdf5nm4bw",
"taggable_id": "01k74h4acesr6y7vp6krqt5dqf",
"taggable_type": "App\\Models\\Product",
"updated_at": "2025-10-09T13:03:54.000000Z"
},
"updated_at": "2025-10-09T09:57:33.000000Z"
}
],
"title": "Arachide blanc du ndole",
"type": "physical_goods",
"updated_at": "2025-10-09T13:03:54.000000Z",
"variants": [
{
"barcode": "456340560",
"base_title": "Default Title",
"buffer_minutes": 0,
"compare_at_price": null,
"composite_stocks": [],
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"estimated_quantity": null,
"estimated_quantity_by_warehouse": [],
"follow_stock": 0,
"id": "01k74h4addkn48aptf2xyp5cyw",
"image_id": null,
"load_product": false,
"metadata": null,
"min_order_quantity": 1,
"options": [
0
],
"position": 1,
"price": 6500,
"product_id": "01k74h4acesr6y7vp6krqt5dqf",
"professionals": [],
"service": {
"buffer_minutes": 0,
"created_at": "2025-10-09T13:03:54.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"id": "01k74h4aeabwm6pkc1m5m9kjfp",
"metadata": null,
"product_variant_id": "01k74h4addkn48aptf2xyp5cyw",
"professionals": [],
"updated_at": "2025-10-09T13:03:54.000000Z"
},
"service_id": "01k74h4aeabwm6pkc1m5m9kjfp",
"sku": "le paquet",
"stocks": [],
"supplierproduct": null,
"taxable": 1,
"title": "Default Title",
"updated_at": "2025-10-09T13:03:54.000000Z",
"whatsapp_product_id": null
}
],
"variants_count": 1,
"vendor": null
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
"{{companyId}}"
Body
""
"handle-herzcde"
[]
Show child attributes
Show child attributes
[
{
"id": "01heb9kba8d8fgh58vpp72yw86",
"position": 1,
"product_id": "",
"title": "Title",
"values": ["Default Title"]
}
]
1
"Title"
Show child attributes
Show child attributes
[
{
"barcode": null,
"compared_at_price": null,
"id": "01heb9w3p8nqpq1e81xc9mqevb",
"inventory_quantity": 32,
"options": ["01heb9kba8d8fgh58vpp72yw86"],
"position": 1,
"price": 6500,
"sku": "le paquet",
"title": "Default Title"
}
]
Response
200 / 200 / 200
0
"01hqydxwtxdj3kmzp3bz7jk73g"
null
"2025-10-10T15:09:15.000000Z"
0
Show child attributes
Show child attributes
false
"title"
true
"01k77apj1gvqheyjjqx5pzfkrn"
1
1
[]
[]
Show child attributes
Show child attributes
6500
Show child attributes
Show child attributes
[
{
"created_at": "2025-10-10T15:09:15.000000Z",
"deleted_at": null,
"id": "01k77apj3heermxzctt837ngmy",
"metadata": null,
"position": 1,
"product_id": "01k77apj1gvqheyjjqx5pzfkrn",
"title": "Title",
"updated_at": "2025-10-10T15:09:15.000000Z",
"values": ["Default Title"]
}
]
[]
1
[]
"Title"
"physical_goods"
"2025-10-10T15:09:15.000000Z"
Show child attributes
Show child attributes
[
{
"barcode": null,
"base_title": "Default Title",
"buffer_minutes": 0,
"compare_at_price": null,
"composite_stocks": [],
"created_at": "2025-10-10T15:09:15.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"estimated_quantity": null,
"estimated_quantity_by_warehouse": [],
"follow_stock": 0,
"id": "01k77apj286gns7ap98hn5ejhc",
"image_id": null,
"load_product": false,
"metadata": null,
"min_order_quantity": 1,
"options": ["01heb9kba8d8fgh58vpp72yw86"],
"position": 1,
"price": 6500,
"product_id": "01k77apj1gvqheyjjqx5pzfkrn",
"professionals": [],
"service": {
"buffer_minutes": 0,
"created_at": "2025-10-10T15:09:15.000000Z",
"deleted_at": null,
"deposit": null,
"duration_minutes": 0,
"id": "01k77apj2vjttkanj2v90572dx",
"metadata": null,
"product_variant_id": "01k77apj286gns7ap98hn5ejhc",
"professionals": [],
"updated_at": "2025-10-10T15:09:15.000000Z"
},
"service_id": "01k77apj2vjttkanj2v90572dx",
"sku": "le paquet",
"stocks": [],
"supplierproduct": null,
"taxable": 1,
"title": "Default Title",
"updated_at": "2025-10-10T15:09:15.000000Z",
"whatsapp_product_id": null
}
]
1
