curl --request PATCH \
--url https://api.fabric.inc/v3/carts/{cartId}/addresses/{addressId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"name": {
"number": "123-456-7890",
"type": "MOBILE"
},
"email": "john@test.com",
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
},
"addressLine1": "123 Park Road",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>",
"city": "Santa Cruz",
"region": "California",
"country": "USA",
"postalCode": "12345"
}
'import requests
url = "https://api.fabric.inc/v3/carts/{cartId}/addresses/{addressId}"
payload = {
"name": {
"number": "123-456-7890",
"type": "MOBILE"
},
"email": "john@test.com",
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
},
"addressLine1": "123 Park Road",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>",
"city": "Santa Cruz",
"region": "California",
"country": "USA",
"postalCode": "12345"
}
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: {number: '123-456-7890', type: 'MOBILE'},
email: 'john@test.com',
phone: {number: '123-456-7890', type: 'MOBILE'},
addressLine1: '123 Park Road',
addressLine2: '<string>',
addressLine3: '<string>',
addressLine4: '<string>',
city: 'Santa Cruz',
region: 'California',
country: 'USA',
postalCode: '12345'
})
};
fetch('https://api.fabric.inc/v3/carts/{cartId}/addresses/{addressId}', 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}/addresses/{addressId}",
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' => [
'number' => '123-456-7890',
'type' => 'MOBILE'
],
'email' => 'john@test.com',
'phone' => [
'number' => '123-456-7890',
'type' => 'MOBILE'
],
'addressLine1' => '123 Park Road',
'addressLine2' => '<string>',
'addressLine3' => '<string>',
'addressLine4' => '<string>',
'city' => 'Santa Cruz',
'region' => 'California',
'country' => 'USA',
'postalCode' => '12345'
]),
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}/addresses/{addressId}"
payload := strings.NewReader("{\n \"name\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"email\": \"john@test.com\",\n \"phone\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"addressLine1\": \"123 Park Road\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\"\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}/addresses/{addressId}")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"email\": \"john@test.com\",\n \"phone\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"addressLine1\": \"123 Park Road\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/carts/{cartId}/addresses/{addressId}")
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\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"email\": \"john@test.com\",\n \"phone\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"addressLine1\": \"123 Park Road\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\"\n}"
response = http.request(request)
puts response.read_body{
"id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",
"name": {
"first": "John",
"middle": "S",
"last": "Doe"
},
"email": "john@test.com",
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
},
"addressLine1": "123 Park Road",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>",
"city": "Santa Cruz",
"region": "California",
"country": "USA",
"postalCode": "12345",
"updatedAt": "2024-06-13T16:50:00.682Z",
"createdAt": "2024-06-13T16:50:00.682Z"
}{
"type": "BAD_REQUEST",
"message": "x-fabric-tenant-id is required"
}{
"type": "CART_NOT_FOUND",
"message": "Cart not found"
}Update address
Updates the billing address associated with the corresponding cart.
The Cart ID from the Create cart endpoint is used in the path parameter.
The Address ID from the Create address endpoint is used in the path parameter.
curl --request PATCH \
--url https://api.fabric.inc/v3/carts/{cartId}/addresses/{addressId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"name": {
"number": "123-456-7890",
"type": "MOBILE"
},
"email": "john@test.com",
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
},
"addressLine1": "123 Park Road",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>",
"city": "Santa Cruz",
"region": "California",
"country": "USA",
"postalCode": "12345"
}
'import requests
url = "https://api.fabric.inc/v3/carts/{cartId}/addresses/{addressId}"
payload = {
"name": {
"number": "123-456-7890",
"type": "MOBILE"
},
"email": "john@test.com",
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
},
"addressLine1": "123 Park Road",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>",
"city": "Santa Cruz",
"region": "California",
"country": "USA",
"postalCode": "12345"
}
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: {number: '123-456-7890', type: 'MOBILE'},
email: 'john@test.com',
phone: {number: '123-456-7890', type: 'MOBILE'},
addressLine1: '123 Park Road',
addressLine2: '<string>',
addressLine3: '<string>',
addressLine4: '<string>',
city: 'Santa Cruz',
region: 'California',
country: 'USA',
postalCode: '12345'
})
};
fetch('https://api.fabric.inc/v3/carts/{cartId}/addresses/{addressId}', 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}/addresses/{addressId}",
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' => [
'number' => '123-456-7890',
'type' => 'MOBILE'
],
'email' => 'john@test.com',
'phone' => [
'number' => '123-456-7890',
'type' => 'MOBILE'
],
'addressLine1' => '123 Park Road',
'addressLine2' => '<string>',
'addressLine3' => '<string>',
'addressLine4' => '<string>',
'city' => 'Santa Cruz',
'region' => 'California',
'country' => 'USA',
'postalCode' => '12345'
]),
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}/addresses/{addressId}"
payload := strings.NewReader("{\n \"name\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"email\": \"john@test.com\",\n \"phone\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"addressLine1\": \"123 Park Road\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\"\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}/addresses/{addressId}")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"email\": \"john@test.com\",\n \"phone\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"addressLine1\": \"123 Park Road\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/carts/{cartId}/addresses/{addressId}")
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\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"email\": \"john@test.com\",\n \"phone\": {\n \"number\": \"123-456-7890\",\n \"type\": \"MOBILE\"\n },\n \"addressLine1\": \"123 Park Road\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\"\n}"
response = http.request(request)
puts response.read_body{
"id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",
"name": {
"first": "John",
"middle": "S",
"last": "Doe"
},
"email": "john@test.com",
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
},
"addressLine1": "123 Park Road",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>",
"city": "Santa Cruz",
"region": "California",
"country": "USA",
"postalCode": "12345",
"updatedAt": "2024-06-13T16:50:00.682Z",
"createdAt": "2024-06-13T16:50:00.682Z"
}{
"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"
Unique request ID for tracking.
"263e731c-45c8-11ed-b878-0242ac120002"
x-fabric-channel-id identifies the sales channel through which the API request is being made; primarily for multichannel use cases. It is a required field. The default US channel is 12 while the default Canada channel is 11.
"12"
Path Parameters
The 24-character system-generated Cart ID. This ID is generated using the Create cart endpoint.
The Address ID that was generated when an address was created using the Create address endpoint.
Body
Address
Show child attributes
Show child attributes
"john@test.com"
Show child attributes
Show child attributes
Address line 1
"123 Park Road"
Address line 2
Address line 3
Address line 4
City
"Santa Cruz"
State, Province or Area
"California"
Country
"USA"
Postal code or zip code
"12345"
Response
OK
Address
The Address ID generated when an address was created using the Create address endpoint.
"a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93"
Name of the recipient of the order.
Show child attributes
Show child attributes
"john@test.com"
Phone
Show child attributes
Show child attributes
Address line 1
"123 Park Road"
Address line 2
Address line 3
Address line 4
City
"Santa Cruz"
State, Province or Area
"California"
Country
"USA"
Postal code or zip code
"12345"
The date and time the address was last updated.
"2024-06-13T16:50:00.682Z"
The date and time the address was created.
"2024-06-13T16:50:00.682Z"
Was this page helpful?
