customer-addresses
Create customer address
Saves a new address on the authenticated customer’s account; the address
fields are supplied under address. Requires a customer bearer token.
Returns 422 on validation failure and 401 when unauthenticated.
POST
/
api
/
checkout
/
v2026-04
/
customers
/
me
/
addresses
Create customer address
curl --request POST \
--url https://api.fluid.app/api/checkout/v2026-04/customers/me/addresses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"address": {
"name": "<string>",
"address1": "123 Main St",
"city": "Alpine",
"postal_code": "84004",
"country_code": "US",
"address2": "<string>",
"state": "UT",
"phone": "<string>",
"default": true
}
}
'import requests
url = "https://api.fluid.app/api/checkout/v2026-04/customers/me/addresses"
payload = { "address": {
"name": "<string>",
"address1": "123 Main St",
"city": "Alpine",
"postal_code": "84004",
"country_code": "US",
"address2": "<string>",
"state": "UT",
"phone": "<string>",
"default": True
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
address: {
name: '<string>',
address1: '123 Main St',
city: 'Alpine',
postal_code: '84004',
country_code: 'US',
address2: '<string>',
state: 'UT',
phone: '<string>',
default: true
}
})
};
fetch('https://api.fluid.app/api/checkout/v2026-04/customers/me/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.fluid.app/api/checkout/v2026-04/customers/me/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([
'address' => [
'name' => '<string>',
'address1' => '123 Main St',
'city' => 'Alpine',
'postal_code' => '84004',
'country_code' => 'US',
'address2' => '<string>',
'state' => 'UT',
'phone' => '<string>',
'default' => 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.fluid.app/api/checkout/v2026-04/customers/me/addresses"
payload := strings.NewReader("{\n \"address\": {\n \"name\": \"<string>\",\n \"address1\": \"123 Main St\",\n \"city\": \"Alpine\",\n \"postal_code\": \"84004\",\n \"country_code\": \"US\",\n \"address2\": \"<string>\",\n \"state\": \"UT\",\n \"phone\": \"<string>\",\n \"default\": true\n }\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.fluid.app/api/checkout/v2026-04/customers/me/addresses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"address\": {\n \"name\": \"<string>\",\n \"address1\": \"123 Main St\",\n \"city\": \"Alpine\",\n \"postal_code\": \"84004\",\n \"country_code\": \"US\",\n \"address2\": \"<string>\",\n \"state\": \"UT\",\n \"phone\": \"<string>\",\n \"default\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/checkout/v2026-04/customers/me/addresses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"address\": {\n \"name\": \"<string>\",\n \"address1\": \"123 Main St\",\n \"city\": \"Alpine\",\n \"postal_code\": \"84004\",\n \"country_code\": \"US\",\n \"address2\": \"<string>\",\n \"state\": \"UT\",\n \"phone\": \"<string>\",\n \"default\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"address": {
"id": 123,
"name": "<string>",
"address1": "<string>",
"address2": "<string>",
"address3": "<string>",
"city": "<string>",
"state": "<string>",
"subdivision_code": "<string>",
"postal_code": "<string>",
"country_code": "<string>",
"phone": "<string>",
"country_num_code": 123,
"default": true
},
"fluid_pay_account": {
"id": 123
},
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"address": {
"id": 123,
"name": "<string>",
"address1": "<string>",
"address2": "<string>",
"address3": "<string>",
"city": "<string>",
"state": "<string>",
"subdivision_code": "<string>",
"postal_code": "<string>",
"country_code": "<string>",
"phone": "<string>",
"country_num_code": 123,
"default": true
},
"fluid_pay_account": {
"id": 123
},
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>"
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}Authorizations
Bearer token authentication
Body
application/json
Show child attributes
Show child attributes
Response
Success
Saved customer address on the address-book endpoints (create/list/update via Commerce::Api::FluidPay::*AddressAction). Distinct from CheckoutAddress (never the wallet-partial null-only shape); same blueprinter and view as the profile address, so it aliases that schema.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I
Create customer address
curl --request POST \
--url https://api.fluid.app/api/checkout/v2026-04/customers/me/addresses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"address": {
"name": "<string>",
"address1": "123 Main St",
"city": "Alpine",
"postal_code": "84004",
"country_code": "US",
"address2": "<string>",
"state": "UT",
"phone": "<string>",
"default": true
}
}
'import requests
url = "https://api.fluid.app/api/checkout/v2026-04/customers/me/addresses"
payload = { "address": {
"name": "<string>",
"address1": "123 Main St",
"city": "Alpine",
"postal_code": "84004",
"country_code": "US",
"address2": "<string>",
"state": "UT",
"phone": "<string>",
"default": True
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
address: {
name: '<string>',
address1: '123 Main St',
city: 'Alpine',
postal_code: '84004',
country_code: 'US',
address2: '<string>',
state: 'UT',
phone: '<string>',
default: true
}
})
};
fetch('https://api.fluid.app/api/checkout/v2026-04/customers/me/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.fluid.app/api/checkout/v2026-04/customers/me/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([
'address' => [
'name' => '<string>',
'address1' => '123 Main St',
'city' => 'Alpine',
'postal_code' => '84004',
'country_code' => 'US',
'address2' => '<string>',
'state' => 'UT',
'phone' => '<string>',
'default' => 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.fluid.app/api/checkout/v2026-04/customers/me/addresses"
payload := strings.NewReader("{\n \"address\": {\n \"name\": \"<string>\",\n \"address1\": \"123 Main St\",\n \"city\": \"Alpine\",\n \"postal_code\": \"84004\",\n \"country_code\": \"US\",\n \"address2\": \"<string>\",\n \"state\": \"UT\",\n \"phone\": \"<string>\",\n \"default\": true\n }\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.fluid.app/api/checkout/v2026-04/customers/me/addresses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"address\": {\n \"name\": \"<string>\",\n \"address1\": \"123 Main St\",\n \"city\": \"Alpine\",\n \"postal_code\": \"84004\",\n \"country_code\": \"US\",\n \"address2\": \"<string>\",\n \"state\": \"UT\",\n \"phone\": \"<string>\",\n \"default\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/checkout/v2026-04/customers/me/addresses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"address\": {\n \"name\": \"<string>\",\n \"address1\": \"123 Main St\",\n \"city\": \"Alpine\",\n \"postal_code\": \"84004\",\n \"country_code\": \"US\",\n \"address2\": \"<string>\",\n \"state\": \"UT\",\n \"phone\": \"<string>\",\n \"default\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"address": {
"id": 123,
"name": "<string>",
"address1": "<string>",
"address2": "<string>",
"address3": "<string>",
"city": "<string>",
"state": "<string>",
"subdivision_code": "<string>",
"postal_code": "<string>",
"country_code": "<string>",
"phone": "<string>",
"country_num_code": 123,
"default": true
},
"fluid_pay_account": {
"id": 123
},
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"address": {
"id": 123,
"name": "<string>",
"address1": "<string>",
"address2": "<string>",
"address3": "<string>",
"city": "<string>",
"state": "<string>",
"subdivision_code": "<string>",
"postal_code": "<string>",
"country_code": "<string>",
"phone": "<string>",
"country_num_code": 123,
"default": true
},
"fluid_pay_account": {
"id": 123
},
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>"
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}