Skip to main content
POST
/
v1
/
tax
/
unify
Unified Tax Rate + Tax ID Validation
curl --request POST \
  --url https://sandbox.antei.com/v1/tax/unify \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "product_id": "prod_abc123",
  "delivery_method": "CLOUD",
  "customer_id": "cust_xyz456",
  "tax_id": "US123456789",
  "country": "US",
  "state": "CA",
  "postal_code": "94016",
  "ip_address": "192.168.1.1",
  "customer_name": "Acme Inc."
}'
{
  "taxability": 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,
  "tax_id_valid": true,
  "customer_name_registry": "<string>",
  "customer_name_match": true,
  "customer_type": "<string>",
  "validated_country": "<string>",
  "validated_state": "<string>",
  "registry_address": "<string>",
  "validation_source": "<string>",
  "validation_timestamp": "2023-11-07T05:31:56Z",
  "request_id": "<string>"
}
Use this endpoint to perform both tax rate calculation and tax ID validation in one unified request. Ideal for checkout, invoicing, or compliance flows where both functions are needed together.

Request Parameters

You must send a request body with the following fields:
  • product_id: (string, optional)
    Internal product ID
  • product_category: (string, optional)
    Category name (used if no product_id is provided). Must be one of:
    • CSS – Custom Software
    • DTSP – Dev & Tech Support Services - With Product
    • DAW – Digital Audio Works
    • DAVW – Digital Audio-Visual Works
    • DB – Digital Books
    • DP – Digital Photographs
    • IAAS – Infrastructure-as-a-Service (IaaS)
    • PAAS – Platform-as-a-Service (PaaS)
    • SAAS – Software-as-a-Service (SaaS)
    • PRSFT – Pre Written Software
    • RNGT – Ringtone
    • DSWS – Data & Web Hosting Services
    • GMO – Gaming
    • SSS – Streaming Services
    • DTSS – Development and Technical Support Services - Separate
    • INGMO – In-Game Purchases
  • is_security: (boolean, optional)
    Boolean flag to indicate if the product is a financial security
  • delivery_method: (string, required)
    Must be one of:
    • CLOUD – On Cloud Services
    • PHYSICAL – Physical Transfer
    • DOWN – Electronically Transferred
  • customer_id: (string, optional)
    Internal customer identifier
  • customer_type: (string, optional)
    Required if no customer_id is provided. Allowed values:
    • B2C – Business to Customer
    • B2B – Business to Business
    • PRISCH – Private Schools
    • PRIEDUI – Private Educational Institutions besides Schools
    • GOV – Government Entities
    • PUBSCH – Public Schools
    • PUBEDU – Public Educational Institutions besides Schools
    • PRIHOS – Private Hospitals
    • PUBHOS – Public Hospitals
    • NGO – Non Government Organisations
  • country: (string, required)
    Country code (ISO 3166 Alpha-2)
  • state: (string, optional)
    Region or state
  • county: (string, optional)
    Local jurisdiction
  • postal_code: (string, optional)
    ZIP or postal code
  • ip_address: (string, optional)
    Used for geolocation if address is unavailable
  • tax_id: (string, required)
    Tax ID to validate
  • customer_name: (string, optional)
    Used for name matching

Response Fields

The response includes two major sections: Tax Calculation and Tax ID Validation.
  • taxability: (boolean)
    Whether the product is taxable
  • country_rate: (integer)
    Country-level tax rate (×1000)
  • state_rate: (integer)
    State-level tax rate (×1000)
  • county_rate: (integer)
    County-level tax rate (×1000)
  • additional_rate: (integer)
    Surcharges (×1000)
  • special_rate: (integer)
    Special region-specific rates (×1000)
  • total_rate: (integer)
    Total tax rate (×1000)
  • reverse_charge_applicable: (boolean)
    Whether reverse charge applies
  • exempt: (boolean)
    Whether the transaction is tax-exempt
  • tax_id_valid: (boolean)
    Whether the tax ID is valid
  • customer_name_registry: (string)
    Name as retrieved from registry (if available)
  • customer_name_match: (boolean)
    Whether provided name matches registry name
  • customer_type: (string)
    Inferred or validated customer type
  • validated_country: (string)
    Country confirmed by registry
  • validated_state: (string)
    State confirmed by registry
  • registry_address: (string)
    Address from registry (if available)
  • validation_source: (string)
    Source used (e.g., VIES, GSTN)
  • validation_timestamp: (string)
    ISO timestamp of validation
  • request_id: (string)
    Internal ID for audit and traceability

Notes

All rate fields are integers multiplied by 1000 (e.g., 19000 = 19%)
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 is determined automatically based on customer and jurisdiction
Ideal for invoicing systems, global checkout flows, or ERP automations

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
product_id
string
required

ID of the product

customer_id
string
required

Customer ID

country
string
required

Country code (ISO Alpha-2)

tax_id
string
required

Tax Identification Number

product_category
enum<string>

Product category if ID is unavailable

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

Is the product a financial security?

delivery_method
enum<string>

Product delivery mode

Available options:
CLOUD,
PHYSICAL,
DOWN
customer_type
enum<string>

Customer type if ID not provided

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

State/region

county
string

County/district

postal_code
string

Postal code

ip_address
string

IP address for geolocation

customer_name
string

Customer name (for validation match)

Response

Unified tax result and tax ID validation

taxability
boolean

Whether the product is taxable

country_rate
integer

Country-level tax rate (×1000)

state_rate
integer

State-level tax rate (×1000)

county_rate
integer

County-level tax rate (×1000)

additional_rate
integer

Any additional surcharge (×1000)

special_rate
integer

Special tax rate (×1000)

total_rate
integer

Final total rate (×1000)

reverse_charge_applicable
boolean

Is reverse charge applicable?

exempt
boolean

Is this transaction exempt from tax?

tax_id_valid
boolean

Whether the tax ID is valid

customer_name_registry
string

Name retrieved from tax registry

customer_name_match
boolean

Does the input name match registry?

customer_type
string
validated_country
string
validated_state
string
registry_address
string
validation_source
string

Source used for validation

validation_timestamp
string<date-time>
request_id
string

Internal ID for auditing and tracing