curl --request PATCH \
--url https://api.fabric.inc/v3/carts/{cartId}/fees/{feeId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"name": "Eco Fee",
"taxable": true,
"attributes": {
"source": "eco"
},
"taxDetails": {
"destinationAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8",
"originAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8"
}
}
'import requests
url = "https://api.fabric.inc/v3/carts/{cartId}/fees/{feeId}"
payload = {
"name": "Eco Fee",
"taxable": True,
"attributes": { "source": "eco" },
"taxDetails": {
"destinationAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8",
"originAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8"
}
}
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Eco Fee',
taxable: true,
attributes: {source: 'eco'},
taxDetails: {
destinationAddress: 'c86f777b-1885-4ddf-961d-542ba80a69b8',
originAddress: 'c86f777b-1885-4ddf-961d-542ba80a69b8'
}
})
};
fetch('https://api.fabric.inc/v3/carts/{cartId}/fees/{feeId}', 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/carts/{cartId}/fees/{feeId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Eco Fee',
'taxable' => true,
'attributes' => [
'source' => 'eco'
],
'taxDetails' => [
'destinationAddress' => 'c86f777b-1885-4ddf-961d-542ba80a69b8',
'originAddress' => 'c86f777b-1885-4ddf-961d-542ba80a69b8'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-fabric-tenant-id: <x-fabric-tenant-id>"
],
]);
$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/carts/{cartId}/fees/{feeId}"
payload := strings.NewReader("{\n \"name\": \"Eco Fee\",\n \"taxable\": true,\n \"attributes\": {\n \"source\": \"eco\"\n },\n \"taxDetails\": {\n \"destinationAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\",\n \"originAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
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.patch("https://api.fabric.inc/v3/carts/{cartId}/fees/{feeId}")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Eco Fee\",\n \"taxable\": true,\n \"attributes\": {\n \"source\": \"eco\"\n },\n \"taxDetails\": {\n \"destinationAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\",\n \"originAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/carts/{cartId}/fees/{feeId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Eco Fee\",\n \"taxable\": true,\n \"attributes\": {\n \"source\": \"eco\"\n },\n \"taxDetails\": {\n \"destinationAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\",\n \"originAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",
"name": "Eco Fee",
"price": {
"amount": 12.99
},
"taxable": true,
"attributes": {
"source": "eco"
},
"tax": {
"total": 3,
"collection": [
{
"amount": 3,
"attributes": {
"rate": "5.0",
"type": "COUNTY"
}
}
]
},
"updatedAt": "2024-06-13T16:50:00.682Z",
"createdAt": "2024-06-13T16:50:00.682Z",
"taxDetails": {
"destinationAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8",
"originAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8"
}
}{
"type": "BAD_REQUEST",
"message": "x-fabric-tenant-id is required"
}{
"type": "CART_NOT_FOUND",
"message": "Cart not found"
}Update fee
Updates a fee in the cart.
The Cart ID from the Create cart endpoint is used in the path parameter.
The Fee ID from the Create fee endpoint is used in the path parameter.
curl --request PATCH \
--url https://api.fabric.inc/v3/carts/{cartId}/fees/{feeId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"name": "Eco Fee",
"taxable": true,
"attributes": {
"source": "eco"
},
"taxDetails": {
"destinationAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8",
"originAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8"
}
}
'import requests
url = "https://api.fabric.inc/v3/carts/{cartId}/fees/{feeId}"
payload = {
"name": "Eco Fee",
"taxable": True,
"attributes": { "source": "eco" },
"taxDetails": {
"destinationAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8",
"originAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8"
}
}
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Eco Fee',
taxable: true,
attributes: {source: 'eco'},
taxDetails: {
destinationAddress: 'c86f777b-1885-4ddf-961d-542ba80a69b8',
originAddress: 'c86f777b-1885-4ddf-961d-542ba80a69b8'
}
})
};
fetch('https://api.fabric.inc/v3/carts/{cartId}/fees/{feeId}', 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/carts/{cartId}/fees/{feeId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Eco Fee',
'taxable' => true,
'attributes' => [
'source' => 'eco'
],
'taxDetails' => [
'destinationAddress' => 'c86f777b-1885-4ddf-961d-542ba80a69b8',
'originAddress' => 'c86f777b-1885-4ddf-961d-542ba80a69b8'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-fabric-tenant-id: <x-fabric-tenant-id>"
],
]);
$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/carts/{cartId}/fees/{feeId}"
payload := strings.NewReader("{\n \"name\": \"Eco Fee\",\n \"taxable\": true,\n \"attributes\": {\n \"source\": \"eco\"\n },\n \"taxDetails\": {\n \"destinationAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\",\n \"originAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
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.patch("https://api.fabric.inc/v3/carts/{cartId}/fees/{feeId}")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Eco Fee\",\n \"taxable\": true,\n \"attributes\": {\n \"source\": \"eco\"\n },\n \"taxDetails\": {\n \"destinationAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\",\n \"originAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/carts/{cartId}/fees/{feeId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Eco Fee\",\n \"taxable\": true,\n \"attributes\": {\n \"source\": \"eco\"\n },\n \"taxDetails\": {\n \"destinationAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\",\n \"originAddress\": \"c86f777b-1885-4ddf-961d-542ba80a69b8\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",
"name": "Eco Fee",
"price": {
"amount": 12.99
},
"taxable": true,
"attributes": {
"source": "eco"
},
"tax": {
"total": 3,
"collection": [
{
"amount": 3,
"attributes": {
"rate": "5.0",
"type": "COUNTY"
}
}
]
},
"updatedAt": "2024-06-13T16:50:00.682Z",
"createdAt": "2024-06-13T16:50:00.682Z",
"taxDetails": {
"destinationAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8",
"originAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8"
}
}{
"type": "BAD_REQUEST",
"message": "x-fabric-tenant-id is required"
}{
"type": "CART_NOT_FOUND",
"message": "Cart not found"
}Authorizations
This is the authorization token used to authenticate the request. You must pass the access token generated from the system app. For more information, see the Making your first API request section.
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.
"617329dfd5288b0011332311"
Path Parameters
The 24-character system-generated Cart ID. This ID is generated using the Create cart endpoint.
The Fee ID generated from the Create fee endpoint.
Body
Fee Request
Response
OK
Fee
The Fee ID generated from the Create fee endpoint.
"a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93"
Was this page helpful?
