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

Headers

Idempotency-Key
string

Body

application/json
product_id
string
required
customer_id
string
required
country
string
required
tax_id
string
required
product_category
enum<string>
Available options:
CSS,
DTSP,
DAW,
DAVW,
DB,
DP,
IAAS,
PAAS,
SAAS,
PRSFT,
RNGT,
DSWS,
GMO,
SSS,
DTSS,
INGMO
is_security
boolean
delivery_method
enum<string>
Available options:
CLOUD,
PHYSICAL,
DOWN
customer_type
enum<string>
Available options:
B2C,
B2B,
PRISCH,
PRIEDUI,
GOV,
PUBSCH,
PUBEDU,
PRIHOS,
PUBHOS,
NGO
state
string
county
string
postal_code
string
ip_address
string
customer_name
string

Response

taxability
boolean
country_rate
integer
state_rate
integer
county_rate
integer
additional_rate
integer
special_rate
integer
total_rate
integer
reverse_charge_applicable
boolean
exempt
boolean
tax_id_valid
boolean
customer_name_registry
string
customer_name_match
boolean
customer_type
string
validated_country
string
validated_state
string
registry_address
string
validation_source
string
validation_timestamp
string<date-time>
request_id
string