Countries
Create a company country
Add a new country to the company configuration
POST
/
api
/
settings
/
company_countries
Create a company country
curl --request POST \
--url https://api.fluid.app/api/settings/company_countries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"company_country": {
"country_id": 38,
"currency": "CAD",
"warehouse_id": 3120,
"handling_fee": 4,
"default": false,
"settlement_currency": "USD",
"tax_class": "fluid",
"requires_3ds": false
}
}
'import requests
url = "https://api.fluid.app/api/settings/company_countries"
payload = { "company_country": {
"country_id": 38,
"currency": "CAD",
"warehouse_id": 3120,
"handling_fee": 4,
"default": False,
"settlement_currency": "USD",
"tax_class": "fluid",
"requires_3ds": False
} }
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({
company_country: {
country_id: 38,
currency: 'CAD',
warehouse_id: 3120,
handling_fee: 4,
default: false,
settlement_currency: 'USD',
tax_class: 'fluid',
requires_3ds: false
}
})
};
fetch('https://api.fluid.app/api/settings/company_countries', 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/settings/company_countries",
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([
'company_country' => [
'country_id' => 38,
'currency' => 'CAD',
'warehouse_id' => 3120,
'handling_fee' => 4,
'default' => false,
'settlement_currency' => 'USD',
'tax_class' => 'fluid',
'requires_3ds' => false
]
]),
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/settings/company_countries"
payload := strings.NewReader("{\n \"company_country\": {\n \"country_id\": 38,\n \"currency\": \"CAD\",\n \"warehouse_id\": 3120,\n \"handling_fee\": 4,\n \"default\": false,\n \"settlement_currency\": \"USD\",\n \"tax_class\": \"fluid\",\n \"requires_3ds\": false\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/settings/company_countries")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"company_country\": {\n \"country_id\": 38,\n \"currency\": \"CAD\",\n \"warehouse_id\": 3120,\n \"handling_fee\": 4,\n \"default\": false,\n \"settlement_currency\": \"USD\",\n \"tax_class\": \"fluid\",\n \"requires_3ds\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/settings/company_countries")
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 \"company_country\": {\n \"country_id\": 38,\n \"currency\": \"CAD\",\n \"warehouse_id\": 3120,\n \"handling_fee\": 4,\n \"default\": false,\n \"settlement_currency\": \"USD\",\n \"tax_class\": \"fluid\",\n \"requires_3ds\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"company_country": {
"id": 48214,
"currency": "CAD",
"base_shipping": "7.95",
"default": false,
"pause_incomplete_enrollment": false,
"handling_fee": 4,
"updated_at": "2026-09-11T09:05:17Z",
"settlement_currency": "USD",
"entity_legally_registered": true,
"tax_inclusive_pricing": null,
"tax_name": null,
"payment_method_priority": null,
"country_defaults": {
"tax_inclusive": false,
"tax_name": null
},
"country": {
"id": 38,
"name": "Canada",
"iso": "CA",
"tax_enabled": true,
"price_inclusive_of_tax": false,
"price_inclusive_tax_name": null,
"iso_name": "CANADA",
"iso3": "CAN",
"currency_code": "CAD",
"currency_symbol": "$",
"province_required": true,
"tax_standard_rate": null
},
"entity": null,
"test_mode": false,
"test_mode_resolvable": null,
"revision": "3f7a1c9e5b2d8f4a6c0e2b4d6f8a1c3e5b7d9f0a2c4e6b8d1f3a5c7e9b0d2f4a",
"checkout_requires_terms": null,
"tax_invoice_required": null,
"legal_settings": null,
"address_fields": null,
"require_gaiyo_shomen_in_enrollment": false,
"tax_apply": false,
"tax_business_id": null,
"tax_apply_discounted_rates": false,
"tax_auto_send_invoice": false,
"apply_shipping_tax": true,
"avalara_shipping_tax_code": "FR020100",
"customs": null,
"use_company_default_tax_settings": true,
"use_company_avalara_tax_settings": false,
"use_company_manual_tax_settings": false,
"use_company_webhook_tax_settings": false,
"use_custom_avalara_tax_settings": false,
"custom_avalara_user_name": null,
"custom_avalara_password": null,
"use_custom_avalara_product_tax_code": false,
"tax_option": "avalara",
"tax_strategy": "avalara",
"tax_class": "fluid",
"effective_tax_class": "fluid",
"avalara_commit_enabled": false,
"tax_callback_registration_id": null,
"tax_callback_registration": null,
"warehouse": {
"id": 3120,
"name": "Scranton Warehouse",
"active": true,
"external_id": "SCR-01",
"metadata": {
"dock": "B"
},
"address": {
"id": 90417,
"name": "Scranton Warehouse",
"address1": "1725 Slough Avenue",
"address2": null,
"address3": null,
"city": "Scranton",
"state": "PA",
"subdivision_code": "US-PA",
"postal_code": "18505",
"country_code": "US",
"default": true,
"first_name": "Darryl",
"last_name": "Philbin"
}
},
"company": {
"id": 1405,
"name": "Dunder Mifflin Paper Company"
},
"requires_3ds": false
},
"warnings": [],
"meta": {
"request_id": "c4f1b9e2-7a3d-4e8b-9f21-5d6a0b3e8c47",
"timestamp": "2026-09-14T15:32:08Z"
}
}{
"message": "<string>"
}{
"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
False skips the default country agreements and default forms a new country normally receives, for a caller that creates its own selection. The Japan gaiyo shomen enrollment form is still created where required. Omitted or true keeps the defaults.
⌘I
Create a company country
curl --request POST \
--url https://api.fluid.app/api/settings/company_countries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"company_country": {
"country_id": 38,
"currency": "CAD",
"warehouse_id": 3120,
"handling_fee": 4,
"default": false,
"settlement_currency": "USD",
"tax_class": "fluid",
"requires_3ds": false
}
}
'import requests
url = "https://api.fluid.app/api/settings/company_countries"
payload = { "company_country": {
"country_id": 38,
"currency": "CAD",
"warehouse_id": 3120,
"handling_fee": 4,
"default": False,
"settlement_currency": "USD",
"tax_class": "fluid",
"requires_3ds": False
} }
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({
company_country: {
country_id: 38,
currency: 'CAD',
warehouse_id: 3120,
handling_fee: 4,
default: false,
settlement_currency: 'USD',
tax_class: 'fluid',
requires_3ds: false
}
})
};
fetch('https://api.fluid.app/api/settings/company_countries', 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/settings/company_countries",
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([
'company_country' => [
'country_id' => 38,
'currency' => 'CAD',
'warehouse_id' => 3120,
'handling_fee' => 4,
'default' => false,
'settlement_currency' => 'USD',
'tax_class' => 'fluid',
'requires_3ds' => false
]
]),
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/settings/company_countries"
payload := strings.NewReader("{\n \"company_country\": {\n \"country_id\": 38,\n \"currency\": \"CAD\",\n \"warehouse_id\": 3120,\n \"handling_fee\": 4,\n \"default\": false,\n \"settlement_currency\": \"USD\",\n \"tax_class\": \"fluid\",\n \"requires_3ds\": false\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/settings/company_countries")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"company_country\": {\n \"country_id\": 38,\n \"currency\": \"CAD\",\n \"warehouse_id\": 3120,\n \"handling_fee\": 4,\n \"default\": false,\n \"settlement_currency\": \"USD\",\n \"tax_class\": \"fluid\",\n \"requires_3ds\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/settings/company_countries")
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 \"company_country\": {\n \"country_id\": 38,\n \"currency\": \"CAD\",\n \"warehouse_id\": 3120,\n \"handling_fee\": 4,\n \"default\": false,\n \"settlement_currency\": \"USD\",\n \"tax_class\": \"fluid\",\n \"requires_3ds\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"company_country": {
"id": 48214,
"currency": "CAD",
"base_shipping": "7.95",
"default": false,
"pause_incomplete_enrollment": false,
"handling_fee": 4,
"updated_at": "2026-09-11T09:05:17Z",
"settlement_currency": "USD",
"entity_legally_registered": true,
"tax_inclusive_pricing": null,
"tax_name": null,
"payment_method_priority": null,
"country_defaults": {
"tax_inclusive": false,
"tax_name": null
},
"country": {
"id": 38,
"name": "Canada",
"iso": "CA",
"tax_enabled": true,
"price_inclusive_of_tax": false,
"price_inclusive_tax_name": null,
"iso_name": "CANADA",
"iso3": "CAN",
"currency_code": "CAD",
"currency_symbol": "$",
"province_required": true,
"tax_standard_rate": null
},
"entity": null,
"test_mode": false,
"test_mode_resolvable": null,
"revision": "3f7a1c9e5b2d8f4a6c0e2b4d6f8a1c3e5b7d9f0a2c4e6b8d1f3a5c7e9b0d2f4a",
"checkout_requires_terms": null,
"tax_invoice_required": null,
"legal_settings": null,
"address_fields": null,
"require_gaiyo_shomen_in_enrollment": false,
"tax_apply": false,
"tax_business_id": null,
"tax_apply_discounted_rates": false,
"tax_auto_send_invoice": false,
"apply_shipping_tax": true,
"avalara_shipping_tax_code": "FR020100",
"customs": null,
"use_company_default_tax_settings": true,
"use_company_avalara_tax_settings": false,
"use_company_manual_tax_settings": false,
"use_company_webhook_tax_settings": false,
"use_custom_avalara_tax_settings": false,
"custom_avalara_user_name": null,
"custom_avalara_password": null,
"use_custom_avalara_product_tax_code": false,
"tax_option": "avalara",
"tax_strategy": "avalara",
"tax_class": "fluid",
"effective_tax_class": "fluid",
"avalara_commit_enabled": false,
"tax_callback_registration_id": null,
"tax_callback_registration": null,
"warehouse": {
"id": 3120,
"name": "Scranton Warehouse",
"active": true,
"external_id": "SCR-01",
"metadata": {
"dock": "B"
},
"address": {
"id": 90417,
"name": "Scranton Warehouse",
"address1": "1725 Slough Avenue",
"address2": null,
"address3": null,
"city": "Scranton",
"state": "PA",
"subdivision_code": "US-PA",
"postal_code": "18505",
"country_code": "US",
"default": true,
"first_name": "Darryl",
"last_name": "Philbin"
}
},
"company": {
"id": 1405,
"name": "Dunder Mifflin Paper Company"
},
"requires_3ds": false
},
"warnings": [],
"meta": {
"request_id": "c4f1b9e2-7a3d-4e8b-9f21-5d6a0b3e8c47",
"timestamp": "2026-09-14T15:32:08Z"
}
}{
"message": "<string>"
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}