Update product
curl --request PUT \
--url https://api-dev.narrative.io/admin/products/{sku} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"cloud_platform": {
"region": "<string>",
"platform": "<string>"
},
"unit": "<string>"
}
'import requests
url = "https://api-dev.narrative.io/admin/products/{sku}"
payload = {
"name": "<string>",
"description": "<string>",
"cloud_platform": {
"region": "<string>",
"platform": "<string>"
},
"unit": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
cloud_platform: {region: '<string>', platform: '<string>'},
unit: '<string>'
})
};
fetch('https://api-dev.narrative.io/admin/products/{sku}', 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-dev.narrative.io/admin/products/{sku}",
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([
'name' => '<string>',
'description' => '<string>',
'cloud_platform' => [
'region' => '<string>',
'platform' => '<string>'
],
'unit' => '<string>'
]),
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-dev.narrative.io/admin/products/{sku}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_platform\": {\n \"region\": \"<string>\",\n \"platform\": \"<string>\"\n },\n \"unit\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api-dev.narrative.io/admin/products/{sku}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_platform\": {\n \"region\": \"<string>\",\n \"platform\": \"<string>\"\n },\n \"unit\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.narrative.io/admin/products/{sku}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_platform\": {\n \"region\": \"<string>\",\n \"platform\": \"<string>\"\n },\n \"unit\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "cd98bbb6-1086-4aea-9b5f-8ba39671a659",
"sku": "general-storage",
"sku_type": {
"category": "storage"
},
"payable_company_id": 1,
"name": "name",
"cloud_platform": {
"region": "us-east-1",
"platform": "aws"
},
"unit": "bytes",
"default_rate": {
"type": "per_unit",
"unit_price": {
"value": 1,
"expressed_in": "cents",
"currency": "USD"
}
},
"status": "active",
"created_at": "2023-02-13T12:55:24.104Z",
"created_by_user_id": 1,
"updated_at": "2023-02-13T12:55:24.104Z",
"updated_by_user_id": 1
}Products
Update product
Update product by sku.
PUT
/
admin
/
products
/
{sku}
Update product
curl --request PUT \
--url https://api-dev.narrative.io/admin/products/{sku} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"cloud_platform": {
"region": "<string>",
"platform": "<string>"
},
"unit": "<string>"
}
'import requests
url = "https://api-dev.narrative.io/admin/products/{sku}"
payload = {
"name": "<string>",
"description": "<string>",
"cloud_platform": {
"region": "<string>",
"platform": "<string>"
},
"unit": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
cloud_platform: {region: '<string>', platform: '<string>'},
unit: '<string>'
})
};
fetch('https://api-dev.narrative.io/admin/products/{sku}', 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-dev.narrative.io/admin/products/{sku}",
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([
'name' => '<string>',
'description' => '<string>',
'cloud_platform' => [
'region' => '<string>',
'platform' => '<string>'
],
'unit' => '<string>'
]),
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-dev.narrative.io/admin/products/{sku}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_platform\": {\n \"region\": \"<string>\",\n \"platform\": \"<string>\"\n },\n \"unit\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api-dev.narrative.io/admin/products/{sku}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_platform\": {\n \"region\": \"<string>\",\n \"platform\": \"<string>\"\n },\n \"unit\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.narrative.io/admin/products/{sku}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"cloud_platform\": {\n \"region\": \"<string>\",\n \"platform\": \"<string>\"\n },\n \"unit\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "cd98bbb6-1086-4aea-9b5f-8ba39671a659",
"sku": "general-storage",
"sku_type": {
"category": "storage"
},
"payable_company_id": 1,
"name": "name",
"cloud_platform": {
"region": "us-east-1",
"platform": "aws"
},
"unit": "bytes",
"default_rate": {
"type": "per_unit",
"unit_price": {
"value": 1,
"expressed_in": "cents",
"currency": "USD"
}
},
"status": "active",
"created_at": "2023-02-13T12:55:24.104Z",
"created_by_user_id": 1,
"updated_at": "2023-02-13T12:55:24.104Z",
"updated_by_user_id": 1
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier for a product.
Body
application/json
Response
OK
UUID
SKU for product
Sku Type (json object, category filed is mandatory)
Show child attributes
Show child attributes
Payable company id
Product rate
Show child attributes
Show child attributes
Available options:
active, archived Cloud Platform (json object)
Show child attributes
Show child attributes
Example:
123
Example:
123
Was this page helpful?

