Update Product V2
curl --request PUT \
--url https://api.jogg.ai/v2/product \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"product_id": "NTQ0MTkzNjg",
"name": "<string>",
"description": "<string>",
"target_audience": "<string>",
"media": [
{
"name": "<string>",
"url": "<string>",
"description": "<string>"
}
]
}
'import requests
url = "https://api.jogg.ai/v2/product"
payload = {
"product_id": "NTQ0MTkzNjg",
"name": "<string>",
"description": "<string>",
"target_audience": "<string>",
"media": [
{
"name": "<string>",
"url": "<string>",
"description": "<string>"
}
]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
product_id: 'NTQ0MTkzNjg',
name: '<string>',
description: '<string>',
target_audience: '<string>',
media: [{name: '<string>', url: '<string>', description: '<string>'}]
})
};
fetch('https://api.jogg.ai/v2/product', 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.jogg.ai/v2/product",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'product_id' => 'NTQ0MTkzNjg',
'name' => '<string>',
'description' => '<string>',
'target_audience' => '<string>',
'media' => [
[
'name' => '<string>',
'url' => '<string>',
'description' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.jogg.ai/v2/product"
payload := strings.NewReader("{\n \"product_id\": \"NTQ0MTkzNjg\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"target_audience\": \"<string>\",\n \"media\": [\n {\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.put("https://api.jogg.ai/v2/product")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"product_id\": \"NTQ0MTkzNjg\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"target_audience\": \"<string>\",\n \"media\": [\n {\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jogg.ai/v2/product")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"product_id\": \"NTQ0MTkzNjg\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"target_audience\": \"<string>\",\n \"media\": [\n {\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 0,
"msg": "Success"
}Product
Update Product
Update an existing product information (Step 2 - Optional)
PUT
/
v2
/
product
Update Product V2
curl --request PUT \
--url https://api.jogg.ai/v2/product \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"product_id": "NTQ0MTkzNjg",
"name": "<string>",
"description": "<string>",
"target_audience": "<string>",
"media": [
{
"name": "<string>",
"url": "<string>",
"description": "<string>"
}
]
}
'import requests
url = "https://api.jogg.ai/v2/product"
payload = {
"product_id": "NTQ0MTkzNjg",
"name": "<string>",
"description": "<string>",
"target_audience": "<string>",
"media": [
{
"name": "<string>",
"url": "<string>",
"description": "<string>"
}
]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
product_id: 'NTQ0MTkzNjg',
name: '<string>',
description: '<string>',
target_audience: '<string>',
media: [{name: '<string>', url: '<string>', description: '<string>'}]
})
};
fetch('https://api.jogg.ai/v2/product', 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.jogg.ai/v2/product",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'product_id' => 'NTQ0MTkzNjg',
'name' => '<string>',
'description' => '<string>',
'target_audience' => '<string>',
'media' => [
[
'name' => '<string>',
'url' => '<string>',
'description' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.jogg.ai/v2/product"
payload := strings.NewReader("{\n \"product_id\": \"NTQ0MTkzNjg\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"target_audience\": \"<string>\",\n \"media\": [\n {\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.put("https://api.jogg.ai/v2/product")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"product_id\": \"NTQ0MTkzNjg\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"target_audience\": \"<string>\",\n \"media\": [\n {\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jogg.ai/v2/product")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"product_id\": \"NTQ0MTkzNjg\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"target_audience\": \"<string>\",\n \"media\": [\n {\n \"name\": \"<string>\",\n \"url\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 0,
"msg": "Success"
}Update an existing product’s information including name, description, target audience, and media resources.
This is an optional step in the product video workflow, allowing you to refine product details before generating videos.
Example Usage
curl -X PUT 'https://api.jogg.ai/v2/product' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"product_id": "NTQ0MTkzNjg",
"name": "Updated Product Name",
"description": "Updated product description and selling points",
"target_audience": "Updated target audience"
}'
Related Guides
URL to Video Guide
Complete product video workflow
Create Product
Create a new product
Authorizations
API key for authentication. Obtain your key from the JoggAI dashboard.
Body
application/json
Response
200 - application/json
Success
⌘I

