Update shipping settings
curl --request PATCH \
--url https://api.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"countriesShippedTo": {},
"collectShippingAddressByDefault": true
}
'import requests
url = "https://api.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping"
payload = {
"countriesShippedTo": {},
"collectShippingAddressByDefault": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({countriesShippedTo: {}, collectShippingAddressByDefault: true})
};
fetch('https://api.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping', 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.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping",
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([
'countriesShippedTo' => [
],
'collectShippingAddressByDefault' => 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.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping"
payload := strings.NewReader("{\n \"countriesShippedTo\": {},\n \"collectShippingAddressByDefault\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"countriesShippedTo\": {},\n \"collectShippingAddressByDefault\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"countriesShippedTo\": {},\n \"collectShippingAddressByDefault\": true\n}"
response = http.request(request)
puts response.read_body{
"collectShippingAddressByDefault": true,
"countriesShippedTo": [
"<string>"
]
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Billing and Shipping
Update shipping settings
Update the shipping settings for your HubSpot account. This endpoint allows you to modify existing shipping configurations to better suit your business needs. Ensure that the request body contains the necessary fields as defined in the UpdateShippingSettingsPublicRequest schema.
PATCH
/
commerce
/
payments-settings
/
2027-03-beta
/
payments-settings
/
shipping
Update shipping settings
curl --request PATCH \
--url https://api.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"countriesShippedTo": {},
"collectShippingAddressByDefault": true
}
'import requests
url = "https://api.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping"
payload = {
"countriesShippedTo": {},
"collectShippingAddressByDefault": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({countriesShippedTo: {}, collectShippingAddressByDefault: true})
};
fetch('https://api.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping', 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.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping",
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([
'countriesShippedTo' => [
],
'collectShippingAddressByDefault' => 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.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping"
payload := strings.NewReader("{\n \"countriesShippedTo\": {},\n \"collectShippingAddressByDefault\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"countriesShippedTo\": {},\n \"collectShippingAddressByDefault\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/commerce/payments-settings/2027-03-beta/payments-settings/shipping")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"countriesShippedTo\": {},\n \"collectShippingAddressByDefault\": true\n}"
response = http.request(request)
puts response.read_body{
"collectShippingAddressByDefault": true,
"countriesShippedTo": [
"<string>"
]
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Required Scopes
Required Scopes
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Body
application/json
Response
successful operation
Last modified on September 11, 2026
Was this page helpful?