curl --request PUT \
--url https://api.exowpee.com/v1/catalog/taxes/{tax} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"rate": 499.9999995,
"fixed_amount": 1,
"default_stockable_price_inclusion_policy": "<string>",
"is_active": true
}
'import requests
url = "https://api.exowpee.com/v1/catalog/taxes/{tax}"
payload = {
"name": "<string>",
"rate": 499.9999995,
"fixed_amount": 1,
"default_stockable_price_inclusion_policy": "<string>",
"is_active": True
}
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({
name: '<string>',
rate: 499.9999995,
fixed_amount: 1,
default_stockable_price_inclusion_policy: '<string>',
is_active: true
})
};
fetch('https://api.exowpee.com/v1/catalog/taxes/{tax}', 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.exowpee.com/v1/catalog/taxes/{tax}",
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([
'name' => '<string>',
'rate' => 499.9999995,
'fixed_amount' => 1,
'default_stockable_price_inclusion_policy' => '<string>',
'is_active' => 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.exowpee.com/v1/catalog/taxes/{tax}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"rate\": 499.9999995,\n \"fixed_amount\": 1,\n \"default_stockable_price_inclusion_policy\": \"<string>\",\n \"is_active\": true\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.exowpee.com/v1/catalog/taxes/{tax}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"rate\": 499.9999995,\n \"fixed_amount\": 1,\n \"default_stockable_price_inclusion_policy\": \"<string>\",\n \"is_active\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/catalog/taxes/{tax}")
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 \"name\": \"<string>\",\n \"rate\": 499.9999995,\n \"fixed_amount\": 1,\n \"default_stockable_price_inclusion_policy\": \"<string>\",\n \"is_active\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"country_code": "<string>",
"fiscal_status": "<string>",
"kind": "<string>",
"is_builtin": true,
"name": "<string>",
"code": "<string>",
"amount_type": "<string>",
"rate": "<string>",
"fixed_amount": 123,
"default_stockable_price_inclusion_policy": "<string>",
"default_order_calculation_base": "<string>",
"application_scope": "<string>",
"is_active": true,
"dependencies": [
"<unknown>"
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "<string>",
"errors": {}
}Change a tax
Changes the name, rate, base or active state of a tax.
curl --request PUT \
--url https://api.exowpee.com/v1/catalog/taxes/{tax} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"rate": 499.9999995,
"fixed_amount": 1,
"default_stockable_price_inclusion_policy": "<string>",
"is_active": true
}
'import requests
url = "https://api.exowpee.com/v1/catalog/taxes/{tax}"
payload = {
"name": "<string>",
"rate": 499.9999995,
"fixed_amount": 1,
"default_stockable_price_inclusion_policy": "<string>",
"is_active": True
}
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({
name: '<string>',
rate: 499.9999995,
fixed_amount: 1,
default_stockable_price_inclusion_policy: '<string>',
is_active: true
})
};
fetch('https://api.exowpee.com/v1/catalog/taxes/{tax}', 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.exowpee.com/v1/catalog/taxes/{tax}",
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([
'name' => '<string>',
'rate' => 499.9999995,
'fixed_amount' => 1,
'default_stockable_price_inclusion_policy' => '<string>',
'is_active' => 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.exowpee.com/v1/catalog/taxes/{tax}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"rate\": 499.9999995,\n \"fixed_amount\": 1,\n \"default_stockable_price_inclusion_policy\": \"<string>\",\n \"is_active\": true\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.exowpee.com/v1/catalog/taxes/{tax}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"rate\": 499.9999995,\n \"fixed_amount\": 1,\n \"default_stockable_price_inclusion_policy\": \"<string>\",\n \"is_active\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/catalog/taxes/{tax}")
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 \"name\": \"<string>\",\n \"rate\": 499.9999995,\n \"fixed_amount\": 1,\n \"default_stockable_price_inclusion_policy\": \"<string>\",\n \"is_active\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"country_code": "<string>",
"fiscal_status": "<string>",
"kind": "<string>",
"is_builtin": true,
"name": "<string>",
"code": "<string>",
"amount_type": "<string>",
"rate": "<string>",
"fixed_amount": 123,
"default_stockable_price_inclusion_policy": "<string>",
"default_order_calculation_base": "<string>",
"application_scope": "<string>",
"is_active": true,
"dependencies": [
"<unknown>"
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "<string>",
"errors": {}
}taxes.update
Conditions
- Built-in taxes cannot be changed.
- Only the amount that matches the tax’s amount_type can be sent (rate for a percentage tax, fixed_amount for a fixed one) and it cannot be cleared; the other amount is refused.
- default_stockable_price_inclusion_policy is accepted only for item-scope taxes and default_order_calculation_base only for order-scope taxes; the other is refused.
- code, amount_type and application_scope cannot be changed.
- A tax cannot be deactivated while an order selects it (order scope), while a category or item assigns it (item scope), or while an assigned tax depends on it.
- The change is refused when the resulting tax graph is invalid or when it would make a stored price impossible to calculate.
- Changes the tax for every company of the same fiscal profile; later calculations use the new values and stored prices are re-checked but not rewritten.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Identifier of the tax (27-character KSUID string), within the current company's fiscal profile.
Query Parameters
Response mode. Default none; none answers 204 No Content.
none, resource Comma-separated JSON keys of the root resource (id is always rendered). Available: id, country_code, fiscal_status, kind, is_builtin, name, code, amount_type, rate, fixed_amount, default_stockable_price_inclusion_policy, default_order_calculation_base, application_scope, is_active, dependencies, created_at, updated_at.
Comma-separated include paths, each optionally followed by its fields in parentheses: units(id,sku),units.uomUnit(id,name). Max depth 6, max 40 paths. Available: .
Body
New name, up to 250 characters. Unchanged when omitted or null.
250New rate of a percentage tax, 0 to 999.999999 with up to 6 decimals. Refused for a fixed tax. When sent it cannot be empty.
0 <= x <= 999.999999New amount of a fixed tax, in minor units, at least 0. Refused for a percentage tax; cannot be cleared.
x >= 0New default inclusion, inclusive or exclusive. Accepted only for item-scope taxes.
New order amount the tax is computed on (items_net_total, items_tax_total or items_gross_total). Accepted only for order-scope taxes.
items_net_total, items_tax_total, items_gross_total Activates or deactivates the tax. Deactivation is refused while the tax is in use.
Response
Resource (only with response=resource).
Identifier of the tax (27-character KSUID string).
Country of the fiscal profile the tax belongs to (the company's country).
Fiscal status of the profile the tax belongs to.
vat: the system VAT node of the profile. standard: any other tax.
True for taxes created by the system; they cannot be changed or deleted.
Name of the tax.
Unique code of the tax within its fiscal profile.
percentage: the tax is a rate applied on a base. fixed: the tax is a fixed amount.
Rate of a percentage tax, up to 6 decimals, sent as a decimal string; null for a fixed tax and for the VAT node, whose rates are VAT rates.
Amount of a fixed tax, in minor units (divide by 10 to the power currency_exponent); null for a percentage tax.
For item-scope taxes: whether prices include the tax by default (inclusive) or add it on top (exclusive). Null for order-scope taxes.
For order-scope taxes: the order amount the tax is computed on (items_net_total, items_tax_total or items_gross_total). Null for item-scope taxes.
stockable: applied to item prices. order: applied to the whole order.
Whether the tax can still be used; an inactive tax is not applied to new assignments.
Taxes this tax is calculated on top of: a list of tax_id and operator (add or substract). Present when the dependency links are loaded.
Date and time the record was created (ISO 8601, UTC).
Date and time the record was last changed (ISO 8601, UTC).