Skip to main content
POST
/
v1
/
tax
/
rate
Calculate Tax Rate
curl --request POST \
  --url https://sandbox.antei.com/v1/tax/rate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "product_category": "SAAS",
  "delivery_method": "CLOUD",
  "customer_type": "B2B",
  "location": {
    "country": "US",
    "state": "CA",
    "postal_code": "94016",
    "ip_address": "192.168.1.1"
  }
}'
{
  "taxable": true,
  "country_rate": 123,
  "state_rate": 123,
  "county_rate": 123,
  "additional_rate": 123,
  "special_rate": 123,
  "total_rate": 123,
  "reverse_charge_applicable": true,
  "exempt": true
}
Use this endpoint in the Sandbox environment to simulate tax rate scenarios for different countries, product types, and customer classifications. This helps validate integration logic and test edge cases before moving to production.

Tax Rate Simulation

The Sandbox environment supports specific input values to simulate deterministic behavior. You can use these values in your requests to test various scenarios.

Request Paramters

The request body accepts the following fields:
  • product_id (string, optional) – Reference to a specific product (if known).
  • product_category (string, optional) – Category of the product. Examples:
    • CSS – Custom Software
    • DTSP – Dev & Tech Support Services (with product)
    • DAW – Digital Audio Works (e.g., music tracks, podcasts)
    • DAVW – Digital Audio-Visual Works (e.g., multimedia videos)
    • DB – Digital Books
    • DP – Digital Photographs
    • IAAS – Infrastructure-as-a-Service
    • PAAS – Platform-as-a-Service
    • SAAS – Software-as-a-Service (CRM, HRM, etc.)
    • PRSFT – Prewritten Software (e.g., antivirus)
    • RNGT – Ringtones
    • DSWS – Data & Web Hosting Services
    • GMO – Gaming Services
    • SSS – Streaming Services
    • DTSS – Dev & Tech Support Services (separate)
    • INGMO – In-Game Purchases
  • is_security (boolean, optional) – Whether the product qualifies as a financial/security-type good.
  • delivery_method (string, required) – Method of product delivery. One of:
    • CLOUD – Delivered via cloud services
    • PHYSICAL – Physically transferred (e.g., hardware, CDs)
    • DOWN – Electronically transferred/downloaded
  • customer_id (string, optional) – Unique identifier for a customer (overrides customer_type).
  • customer_type (string, optional) – Type of customer. One of:
    • B2C – Business to Consumer
    • B2B – Business to Business
    • PRISCH – Private School
    • PRIEDUI – Private Educational Institution (Non-School)
    • GOV – Government Entity
    • PUBSCH – Public School
    • PUBEDU – Public Educational Institution (Non-School)
    • PRIHOS – Private Hospital
    • PUBHOS – Public Hospital
    • NGO – Non-Governmental Organization
  • location: (object, required)
    Provide customer jurisdictional context using any of:
    • country (string) – ISO country code
    • state (string) – State or province
    • county (string) – County or district
    • postal_code (string) – ZIP or postal code
    • ip_address (string) – Used for fallback geolocation

Response Fields

Returns tax determination and detailed rates:
  • taxable (boolean) – Whether the product is taxable in this scenario.
  • country_rate (integer) – Country-level tax rate (in basis points, e.g., 18000 = 18%).
  • state_rate (integer) – State-level tax rate.
  • county_rate (integer) – County-level tax rate.
  • special_rate (integer) – Any special jurisdiction-specific rate.
  • additional_rate (integer) – Supplementary rate applied.
  • total_rate (integer) – Total computed effective tax rate.
  • reverse_charge_applicable (boolean) – Whether reverse charge mechanism applies.
  • exempt (boolean) – Whether the transaction is exempt from tax.

Notes

All rate fields are returned in basis points. 18000 = 18%.
Only specific test combinations are supported in the sandbox. Using other values will return a default fallback.
If both product_id and product_category are provided, product_id takes priority.
If both customer_id and customer_type are provided, customer_id takes priority.
Reverse charge logic is auto-detected using customer and jurisdiction info.
Use this API to validate integration logic before pushing to production.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string

Optional. Unique key to ensure idempotent operations (e.g., retry-safe requests).

Body

application/json
delivery_method
enum<string>
required

How the product is delivered

Available options:
CLOUD,
PHYSICAL,
DOWN
location
object
required

Location of the customer for tax purposes

product_id
string

Unique ID of the product (optional if product_category is provided)

product_category
enum<string>

Category of the product (e.g., 'SAAS', 'DIGITAL_GOODS')

Available options:
CSS,
DTSP,
DAW,
DAVW,
DB,
DP,
IAAS,
PAAS,
SAAS,
PRSFT,
RNGT,
DSWS,
GMO,
SSS,
DTSS,
INGMO
is_security
boolean

If true, the product is considered a security

customer_id
string

Customer ID (optional if customer_type is provided)

customer_type
enum<string>

Customer classification

Available options:
B2C,
B2B,
PRISCH,
PRIEDUI,
GOV,
PUBSCH,
PUBEDU,
PRIHOS,
PUBHOS,
NGO

Response

Successful tax rate breakdown

taxable
boolean
required

Whether the transaction is taxable

total_rate
integer
required

Total calculated tax rate in basis points (×1000)

country_rate
integer

Country-level tax rate in basis points (×1000)

state_rate
integer

State-level tax rate in basis points (×1000)

county_rate
integer

County-level tax rate in basis points (×1000)

additional_rate
integer

Any additional applicable rate in basis points (×1000)

special_rate
integer

Special condition tax rate in basis points (×1000)

reverse_charge_applicable
boolean

If reverse charge is applicable

exempt
boolean

If the transaction is exempt from taxes

I