curl --request POST \
--url https://api.fabric.inc/v3/carts/{cartId}/addresses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"addressLine1": "123 Park Road",
"city": "Santa Cruz",
"region": "California",
"country": "USA",
"postalCode": "12345",
"email": "john@test.com",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>"
}
'import requests
url = "https://api.fabric.inc/v3/carts/{cartId}/addresses"
payload = {
"addressLine1": "123 Park Road",
"city": "Santa Cruz",
"region": "California",
"country": "USA",
"postalCode": "12345",
"email": "john@test.com",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>"
}
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({
addressLine1: '123 Park Road',
city: 'Santa Cruz',
region: 'California',
country: 'USA',
postalCode: '12345',
email: 'john@test.com',
addressLine2: '<string>',
addressLine3: '<string>',
addressLine4: '<string>'
})
};
fetch('https://api.fabric.inc/v3/carts/{cartId}/addresses', 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",
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([
'addressLine1' => '123 Park Road',
'city' => 'Santa Cruz',
'region' => 'California',
'country' => 'USA',
'postalCode' => '12345',
'email' => 'john@test.com',
'addressLine2' => '<string>',
'addressLine3' => '<string>',
'addressLine4' => '<string>'
]),
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"
payload := strings.NewReader("{\n \"addressLine1\": \"123 Park Road\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\",\n \"email\": \"john@test.com\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\"\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/carts/{cartId}/addresses")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"addressLine1\": \"123 Park Road\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\",\n \"email\": \"john@test.com\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/carts/{cartId}/addresses")
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 \"addressLine1\": \"123 Park Road\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\",\n \"email\": \"john@test.com\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\"\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"
}Create address
Adds a billing address to the corresponding cart.
The Cart ID from the Create cart endpoint is used in the path parameter.
curl --request POST \
--url https://api.fabric.inc/v3/carts/{cartId}/addresses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"addressLine1": "123 Park Road",
"city": "Santa Cruz",
"region": "California",
"country": "USA",
"postalCode": "12345",
"email": "john@test.com",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>"
}
'import requests
url = "https://api.fabric.inc/v3/carts/{cartId}/addresses"
payload = {
"addressLine1": "123 Park Road",
"city": "Santa Cruz",
"region": "California",
"country": "USA",
"postalCode": "12345",
"email": "john@test.com",
"addressLine2": "<string>",
"addressLine3": "<string>",
"addressLine4": "<string>"
}
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({
addressLine1: '123 Park Road',
city: 'Santa Cruz',
region: 'California',
country: 'USA',
postalCode: '12345',
email: 'john@test.com',
addressLine2: '<string>',
addressLine3: '<string>',
addressLine4: '<string>'
})
};
fetch('https://api.fabric.inc/v3/carts/{cartId}/addresses', 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",
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([
'addressLine1' => '123 Park Road',
'city' => 'Santa Cruz',
'region' => 'California',
'country' => 'USA',
'postalCode' => '12345',
'email' => 'john@test.com',
'addressLine2' => '<string>',
'addressLine3' => '<string>',
'addressLine4' => '<string>'
]),
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"
payload := strings.NewReader("{\n \"addressLine1\": \"123 Park Road\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\",\n \"email\": \"john@test.com\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\"\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/carts/{cartId}/addresses")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"addressLine1\": \"123 Park Road\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\",\n \"email\": \"john@test.com\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/carts/{cartId}/addresses")
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 \"addressLine1\": \"123 Park Road\",\n \"city\": \"Santa Cruz\",\n \"region\": \"California\",\n \"country\": \"USA\",\n \"postalCode\": \"12345\",\n \"email\": \"john@test.com\",\n \"addressLine2\": \"<string>\",\n \"addressLine3\": \"<string>\",\n \"addressLine4\": \"<string>\"\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.
Body
Address
Address line 1
"123 Park Road"
City
"Santa Cruz"
State, Province or Area
"California"
Country
"USA"
Postal code or zip code
"12345"
Name details
Show child attributes
Show child attributes
"john@test.com"
Phone details
Show child attributes
Show child attributes
Address line 2
Address line 3
Address line 4
Response
Created
Address
The unique identifier of an address that was generated by this endpoint. This Address ID is used for other endpoints.
"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?
