Update a fabric template - Fabric
Update a fabric template
cURL
curl --request PUT \
--url https://marketplace-api.fabric.inc/v1/retailers/{retailer_id}/fabric/{fabric_id}/templates/{id}/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "production template",
"code": "production template",
"description": "Template for product and variant attributes in fabric PIM for the connected account of production staff",
"direction": "export",
"data_type": "products"
}'
Python
import requests
url = "https://marketplace-api.fabric.inc/v1/retailers/{retailer_id}/fabric/{fabric_id}/templates/{id}/"
payload = {
"name": "production template",
"code": "production template",
"description": "Template for product and variant attributes in fabric PIM for the connected account of production staff",
"direction": "export",
"data_type": "products"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)
JavaScript
const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'production template',
code: 'production template',
description: 'Template for product and variant attributes in fabric PIM for the connected account of production staff',
direction: 'export',
data_type: 'products'
})
};
fetch('https://marketplace-api.fabric.inc/v1/retailers/{retailer_id}/fabric/{fabric_id}/templates/{id}/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://marketplace-api.fabric.inc/v1/retailers/{retailer_id}/fabric/{fabric_id}/templates/{id}/",
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' => 'production template',
'code' => 'production template',
'description' => 'Template for product and variant attributes in fabric PIM for the connected account of production staff',
'direction' => 'export',
'data_type' => 'products'
]),
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;
}
?>
Go
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://marketplace-api.fabric.inc/v1/retailers/{retailer_id}/fabric/{fabric_id}/templates/{id}/"
payload := strings.NewReader("{\n \"name\": \"production template\",\n \"code\": \"production template\",\n \"description\": \"Template for product and variant attributes in fabric PIM for the connected account of production staff\",\n \"direction\": \"export\",\n \"data_type\": \"products\"\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))
}
Unirest (Java)
HttpResponse<String> response = Unirest.put("https://marketplace-api.fabric.inc/v1/retailers/{retailer_id}/fabric/{fabric_id}/templates/{id}/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"production template\",\n \"code\": \"production template\",\n \"description\": \"Template for product and variant attributes in fabric PIM for the connected account of production staff\",\n \"direction\": \"export\",\n \"data_type\": \"products\"\n}")
.asString();
Ruby
require 'uri'
require 'net/http'
url = URI("https://marketplace-api.fabric.inc/v1/retailers/{retailer_id}/fabric/{fabric_id}/templates/{id}/")
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\": \"production template\",\n \"code\": \"production template\",\n \"description\": \"Template for product and variant attributes in fabric PIM for the connected account of production staff\",\n \"direction\": \"export\",\n \"data_type\": \"products\"\n}"
response = http.request(request)
puts response.read_body
Response
{
"name": "production template",
"code": "production template",
"description": "Template for product and variant attributes in fabric PIM for the connected account of production staff",
"id": 16,
"direction": "export",
"data_type": "products",
"template_mappings": [
{"template list": "response"}
],
"created_at": "2025-03-10T15:24:56Z"
}
Authorizations
Authorization
string
header
required
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
retailer_id
integer
required
The unique retailer ID. In the Dropship UI, this is called the Merchant ID.fabric_id
integer
required
This ID maps to your Platform Account ID.id
integer
required
The unique template identifier.
Body
name
string
required
The name of the template.code
string
required
An alternative internal name for the template.description
string | null
required
A description for the template.direction
enum| null
Indicates if the template is for imports or exports.data_type
enum| null
Describes what kind of data is contained within the template.