curl --request POST \
--url https://api.fabric.inc/v3/v3/carts/{cartId}/line-items/{lineItemId}/adjustments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"data": [
{
"amount": 60.5,
"reason": "CSR Adjustment",
"attributes": {
"productFamily": "Laptop computers"
}
}
]
}
'import requests
url = "https://api.fabric.inc/v3/v3/carts/{cartId}/line-items/{lineItemId}/adjustments"
payload = { "data": [
{
"amount": 60.5,
"reason": "CSR Adjustment",
"attributes": { "productFamily": "Laptop computers" }
}
] }
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: [
{
amount: 60.5,
reason: 'CSR Adjustment',
attributes: {productFamily: 'Laptop computers'}
}
]
})
};
fetch('https://api.fabric.inc/v3/v3/carts/{cartId}/line-items/{lineItemId}/adjustments', 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/v3/carts/{cartId}/line-items/{lineItemId}/adjustments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
[
'amount' => 60.5,
'reason' => 'CSR Adjustment',
'attributes' => [
'productFamily' => 'Laptop computers'
]
]
]
]),
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/v3/carts/{cartId}/line-items/{lineItemId}/adjustments"
payload := strings.NewReader("{\n \"data\": [\n {\n \"amount\": 60.5,\n \"reason\": \"CSR Adjustment\",\n \"attributes\": {\n \"productFamily\": \"Laptop computers\"\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.fabric.inc/v3/v3/carts/{cartId}/line-items/{lineItemId}/adjustments")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": [\n {\n \"amount\": 60.5,\n \"reason\": \"CSR Adjustment\",\n \"attributes\": {\n \"productFamily\": \"Laptop computers\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/v3/carts/{cartId}/line-items/{lineItemId}/adjustments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": [\n {\n \"amount\": 60.5,\n \"reason\": \"CSR Adjustment\",\n \"attributes\": {\n \"productFamily\": \"Laptop computers\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "c695af14-5e33-402c-9d8d-71edcf4856a8",
"amount": 60.5,
"reason": "CSR Adjustment",
"attributes": {
"productFamily": "Laptop computers"
},
"createdAt": "2022-09-06T14:07:17.000Z",
"updatedAt": "2022-09-06T14:07:17.000Z"
}
]
}{
"type": "BAD_REQUEST",
"message": "Bad Request"
}{
"type": "UNAUTHORIZED",
"message": "Unauthorized User"
}{
"type": "NOT_FOUND",
"message": "Cart not found"
}{
"type": "CONFLICT",
"message": "Source was modified while the request was being processed"
}{
"type": "INTERNAL_SERVER_ERROR",
"message": "Internal server error"
}Adjust prices for a cart item
Adjust prices for a specific line item within the specified cart.
curl --request POST \
--url https://api.fabric.inc/v3/v3/carts/{cartId}/line-items/{lineItemId}/adjustments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"data": [
{
"amount": 60.5,
"reason": "CSR Adjustment",
"attributes": {
"productFamily": "Laptop computers"
}
}
]
}
'import requests
url = "https://api.fabric.inc/v3/v3/carts/{cartId}/line-items/{lineItemId}/adjustments"
payload = { "data": [
{
"amount": 60.5,
"reason": "CSR Adjustment",
"attributes": { "productFamily": "Laptop computers" }
}
] }
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: [
{
amount: 60.5,
reason: 'CSR Adjustment',
attributes: {productFamily: 'Laptop computers'}
}
]
})
};
fetch('https://api.fabric.inc/v3/v3/carts/{cartId}/line-items/{lineItemId}/adjustments', 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/v3/carts/{cartId}/line-items/{lineItemId}/adjustments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
[
'amount' => 60.5,
'reason' => 'CSR Adjustment',
'attributes' => [
'productFamily' => 'Laptop computers'
]
]
]
]),
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/v3/carts/{cartId}/line-items/{lineItemId}/adjustments"
payload := strings.NewReader("{\n \"data\": [\n {\n \"amount\": 60.5,\n \"reason\": \"CSR Adjustment\",\n \"attributes\": {\n \"productFamily\": \"Laptop computers\"\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.fabric.inc/v3/v3/carts/{cartId}/line-items/{lineItemId}/adjustments")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": [\n {\n \"amount\": 60.5,\n \"reason\": \"CSR Adjustment\",\n \"attributes\": {\n \"productFamily\": \"Laptop computers\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/v3/carts/{cartId}/line-items/{lineItemId}/adjustments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": [\n {\n \"amount\": 60.5,\n \"reason\": \"CSR Adjustment\",\n \"attributes\": {\n \"productFamily\": \"Laptop computers\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "c695af14-5e33-402c-9d8d-71edcf4856a8",
"amount": 60.5,
"reason": "CSR Adjustment",
"attributes": {
"productFamily": "Laptop computers"
},
"createdAt": "2022-09-06T14:07:17.000Z",
"updatedAt": "2022-09-06T14:07:17.000Z"
}
]
}{
"type": "BAD_REQUEST",
"message": "Bad Request"
}{
"type": "UNAUTHORIZED",
"message": "Unauthorized User"
}{
"type": "NOT_FOUND",
"message": "Cart not found"
}{
"type": "CONFLICT",
"message": "Source was modified while the request was being processed"
}{
"type": "INTERNAL_SERVER_ERROR",
"message": "Internal server error"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
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.
x-fabric-channel-id identifies the sales channel where the API request is being made; primarily for multichannel use cases. The channel ids are 12 corresponding to US and 13 corresponding to Canada. The default channel id is 12. This field is required.
Unique request ID
Path Parameters
Cart ID
"b8a64b52-dab4-8137-8d6a-f2c2337abc1"
Line item ID
"d7e78a21-bee3-4448-bf1c-d5b5461dbda2"
Body
A sample request containing details of the price adjustment.
Sample request containing price adjustment details
Show child attributes
Show child attributes
Response
OK
Sample response containing list of adjustments
Show child attributes
Show child attributes
Was this page helpful?
