curl --request PUT \
--url https://api.fabric.inc/v3/product-attribute-groups/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Dimensions",
"description": "Dimensions of a product",
"priority": 1,
"attributes": [
{
"attributeId": "5f328bf0b5f328bf0b5f328b",
"isReadOnly": true
}
]
}
'import requests
url = "https://api.fabric.inc/v3/product-attribute-groups/{id}"
payload = {
"name": "Dimensions",
"description": "Dimensions of a product",
"priority": 1,
"attributes": [
{
"attributeId": "5f328bf0b5f328bf0b5f328b",
"isReadOnly": True
}
]
}
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: 'Dimensions',
description: 'Dimensions of a product',
priority: 1,
attributes: [{attributeId: '5f328bf0b5f328bf0b5f328b', isReadOnly: true}]
})
};
fetch('https://api.fabric.inc/v3/product-attribute-groups/{id}', 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.fabric.inc/v3/product-attribute-groups/{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' => 'Dimensions',
'description' => 'Dimensions of a product',
'priority' => 1,
'attributes' => [
[
'attributeId' => '5f328bf0b5f328bf0b5f328b',
'isReadOnly' => true
]
]
]),
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.fabric.inc/v3/product-attribute-groups/{id}"
payload := strings.NewReader("{\n \"name\": \"Dimensions\",\n \"description\": \"Dimensions of a product\",\n \"priority\": 1,\n \"attributes\": [\n {\n \"attributeId\": \"5f328bf0b5f328bf0b5f328b\",\n \"isReadOnly\": true\n }\n ]\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.fabric.inc/v3/product-attribute-groups/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Dimensions\",\n \"description\": \"Dimensions of a product\",\n \"priority\": 1,\n \"attributes\": [\n {\n \"attributeId\": \"5f328bf0b5f328bf0b5f328b\",\n \"isReadOnly\": true\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/product-attribute-groups/{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\": \"Dimensions\",\n \"description\": \"Dimensions of a product\",\n \"priority\": 1,\n \"attributes\": [\n {\n \"attributeId\": \"5f328bf0b5f328bf0b5f328b\",\n \"isReadOnly\": true\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "59328bf0b5f328bf0b5f3288",
"name": "Dimensions",
"description": "Dimensions of a product",
"priority": 1,
"attributes": [
{
"attributeId": "33328bf0b5f328bf0b5f3288",
"name": "color",
"type": "TEXT",
"localizedProperties": {
"en-US": {
"name": "color"
},
"en-IN": {
"name": "colour"
}
},
"isLocalizable": true,
"isReadOnly": true
}
],
"attributeCount": 20,
"updatedBy": "test@email.com",
"createdAt": "2021-04-20T10:24:36.162Z",
"updatedAt": "2021-04-20T10:24:36.162Z"
}{
"message": "Request is invalid",
"type": "Bad request",
"errors": [
{
"type": "CLIENT_ERROR",
"message": "Invalid request. Check your parameters or request body."
}
]
}{
"message": "The requester is unauthorized",
"type": "UNAUTHORIZED_ERROR"
}{
"type": "REQUEST_DENIED",
"message": "User doesn't have the required permission"
}{
"type": "NOT_FOUND",
"message": "Resource not found"
}{
"type": "SERVER_ERROR",
"message": "Internal Server Error"
}Update Attribute Group
Updates the specified attribute group by replacing its current configuration. You can modify group name, description, priority order, and the list of associated attributes. You may also adjust whether the attribute is editable or read-only. This operation completely replaces the existing group configuration.
curl --request PUT \
--url https://api.fabric.inc/v3/product-attribute-groups/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Dimensions",
"description": "Dimensions of a product",
"priority": 1,
"attributes": [
{
"attributeId": "5f328bf0b5f328bf0b5f328b",
"isReadOnly": true
}
]
}
'import requests
url = "https://api.fabric.inc/v3/product-attribute-groups/{id}"
payload = {
"name": "Dimensions",
"description": "Dimensions of a product",
"priority": 1,
"attributes": [
{
"attributeId": "5f328bf0b5f328bf0b5f328b",
"isReadOnly": True
}
]
}
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: 'Dimensions',
description: 'Dimensions of a product',
priority: 1,
attributes: [{attributeId: '5f328bf0b5f328bf0b5f328b', isReadOnly: true}]
})
};
fetch('https://api.fabric.inc/v3/product-attribute-groups/{id}', 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.fabric.inc/v3/product-attribute-groups/{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' => 'Dimensions',
'description' => 'Dimensions of a product',
'priority' => 1,
'attributes' => [
[
'attributeId' => '5f328bf0b5f328bf0b5f328b',
'isReadOnly' => true
]
]
]),
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.fabric.inc/v3/product-attribute-groups/{id}"
payload := strings.NewReader("{\n \"name\": \"Dimensions\",\n \"description\": \"Dimensions of a product\",\n \"priority\": 1,\n \"attributes\": [\n {\n \"attributeId\": \"5f328bf0b5f328bf0b5f328b\",\n \"isReadOnly\": true\n }\n ]\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.fabric.inc/v3/product-attribute-groups/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Dimensions\",\n \"description\": \"Dimensions of a product\",\n \"priority\": 1,\n \"attributes\": [\n {\n \"attributeId\": \"5f328bf0b5f328bf0b5f328b\",\n \"isReadOnly\": true\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/product-attribute-groups/{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\": \"Dimensions\",\n \"description\": \"Dimensions of a product\",\n \"priority\": 1,\n \"attributes\": [\n {\n \"attributeId\": \"5f328bf0b5f328bf0b5f328b\",\n \"isReadOnly\": true\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "59328bf0b5f328bf0b5f3288",
"name": "Dimensions",
"description": "Dimensions of a product",
"priority": 1,
"attributes": [
{
"attributeId": "33328bf0b5f328bf0b5f3288",
"name": "color",
"type": "TEXT",
"localizedProperties": {
"en-US": {
"name": "color"
},
"en-IN": {
"name": "colour"
}
},
"isLocalizable": true,
"isReadOnly": true
}
],
"attributeCount": 20,
"updatedBy": "test@email.com",
"createdAt": "2021-04-20T10:24:36.162Z",
"updatedAt": "2021-04-20T10:24:36.162Z"
}{
"message": "Request is invalid",
"type": "Bad request",
"errors": [
{
"type": "CLIENT_ERROR",
"message": "Invalid request. Check your parameters or request body."
}
]
}{
"message": "The requester is unauthorized",
"type": "UNAUTHORIZED_ERROR"
}{
"type": "REQUEST_DENIED",
"message": "User doesn't have the required permission"
}{
"type": "NOT_FOUND",
"message": "Resource not found"
}{
"type": "SERVER_ERROR",
"message": "Internal Server Error"
}Authorizations
S2S access token (JWT) from fabric Identity service (during Login)
Headers
A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from Copilot. This header is required.
"517fa9dfd42d8b00g1o3k312"
Unique request ID
"263e731c-45c8-11ed-b878-0242ac120002"
Path Parameters
24-character system-generated attribute group ID
Body
Request body to update attribute group
Response
OK
24-character system-generated attribute group ID
"59328bf0b5f328bf0b5f3288"
Attribute group name
"Dimensions"
Brief description of attribute group
"Dimensions of a product"
Determines attribute group's order of appearance in the UI
1
Show child attributes
Show child attributes
Number of attributes in the attribute group
20
Email of user who last updated Attribute Group
"test@email.com"
Attribute group creation time (UTC)
"2021-04-20T10:24:36.162Z"
Time of last update to attribute group (UTC)
"2021-04-20T10:24:36.162Z"
Was this page helpful?
