Taxes
Update the merchant Avalara tax settings
Sets the Avalara shipping tax code and the products excluded from Avalara tax. Excluded products are left out of the Avalara quote request and quoted with tax 0; a quote of only excluded products asserts zero tax without calling Avalara. The shipping tax code is used for the shipping line of committed documents. Omitted fields keep their stored values. Changes are recorded in the tax audit events.
PUT
/
api
/
settings
/
avalara_setting
Update the merchant Avalara tax settings
curl --request PUT \
--url https://api.fluid.app/api/settings/avalara_setting \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"avalara_setting": {
"shipping_tax_code": "FR020100",
"excluded_product_ids": [
48935,
73085
]
}
}
'import requests
url = "https://api.fluid.app/api/settings/avalara_setting"
payload = { "avalara_setting": {
"shipping_tax_code": "FR020100",
"excluded_product_ids": [48935, 73085]
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
avalara_setting: {shipping_tax_code: 'FR020100', excluded_product_ids: [48935, 73085]}
})
};
fetch('https://api.fluid.app/api/settings/avalara_setting', 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/avalara_setting",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'avalara_setting' => [
'shipping_tax_code' => 'FR020100',
'excluded_product_ids' => [
48935,
73085
]
]
]),
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/avalara_setting"
payload := strings.NewReader("{\n \"avalara_setting\": {\n \"shipping_tax_code\": \"FR020100\",\n \"excluded_product_ids\": [\n 48935,\n 73085\n ]\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.fluid.app/api/settings/avalara_setting")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"avalara_setting\": {\n \"shipping_tax_code\": \"FR020100\",\n \"excluded_product_ids\": [\n 48935,\n 73085\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/settings/avalara_setting")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"avalara_setting\": {\n \"shipping_tax_code\": \"FR020100\",\n \"excluded_product_ids\": [\n 48935,\n 73085\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"avalara_setting": {
"shipping_tax_code": "FR020100",
"excluded_product_ids": [
48935,
73085
],
"excluded_products": [
{
"id": 48935,
"title": "Thermomix TM6"
},
{
"id": 73085,
"title": "Thermomix Cutter"
}
]
},
"status": 200,
"meta": {
"request_id": "c4f1b9e2-7a3d-4e8b-9f21-5d6a0b3e8c47",
"timestamp": "2026-09-14T15:32:08Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}Authorizations
Bearer token authentication
Body
application/json
Omitted fields keep their stored values. The first save creates the settings row.
Show child attributes
Show child attributes
⌘I
Update the merchant Avalara tax settings
curl --request PUT \
--url https://api.fluid.app/api/settings/avalara_setting \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"avalara_setting": {
"shipping_tax_code": "FR020100",
"excluded_product_ids": [
48935,
73085
]
}
}
'import requests
url = "https://api.fluid.app/api/settings/avalara_setting"
payload = { "avalara_setting": {
"shipping_tax_code": "FR020100",
"excluded_product_ids": [48935, 73085]
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
avalara_setting: {shipping_tax_code: 'FR020100', excluded_product_ids: [48935, 73085]}
})
};
fetch('https://api.fluid.app/api/settings/avalara_setting', 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/avalara_setting",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'avalara_setting' => [
'shipping_tax_code' => 'FR020100',
'excluded_product_ids' => [
48935,
73085
]
]
]),
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/avalara_setting"
payload := strings.NewReader("{\n \"avalara_setting\": {\n \"shipping_tax_code\": \"FR020100\",\n \"excluded_product_ids\": [\n 48935,\n 73085\n ]\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.fluid.app/api/settings/avalara_setting")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"avalara_setting\": {\n \"shipping_tax_code\": \"FR020100\",\n \"excluded_product_ids\": [\n 48935,\n 73085\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/settings/avalara_setting")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"avalara_setting\": {\n \"shipping_tax_code\": \"FR020100\",\n \"excluded_product_ids\": [\n 48935,\n 73085\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"avalara_setting": {
"shipping_tax_code": "FR020100",
"excluded_product_ids": [
48935,
73085
],
"excluded_products": [
{
"id": 48935,
"title": "Thermomix TM6"
},
{
"id": 73085,
"title": "Thermomix Cutter"
}
]
},
"status": 200,
"meta": {
"request_id": "c4f1b9e2-7a3d-4e8b-9f21-5d6a0b3e8c47",
"timestamp": "2026-09-14T15:32:08Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}