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 in the Sandbox environment to simulate both tax rate calculation and tax ID validation in a single call. It is useful for validating your end-to-end integration during development for workflows such as checkout, invoice generation, or regulatory compliance.

Valid Tax ID Scenarios

The Sandbox supports specific Tax IDs for deterministic test cases. Use only the values listed below for expected behavior.

Tax Rate Simulation

These combinations return predictable tax calculations in the Sandbox.

Request Parameters

  • product_id: (string, optional) – Internal product identifier.
  • product_category: (string, optional) – Required if product_id is absent. Acceptable values include: CSS, DTSP, DAW, DAVW, DB, DP, IAAS, PAAS, SAAS, PRSFT, RNGT, DSWS, GMO, SSS, DTSS, INGMO
  • is_security: (boolean, optional) – Indicates if product is classified as a financial/security item.
  • delivery_method: (string, required) – One of: CLOUD, PHYSICAL, DOWN
  • customer_id: (string, optional) – Internal customer identifier.
  • customer_type: (string, optional) – Used if no customer_id is provided. One of: B2C, B2B, PRISCH, PRIEDUI, GOV, PUBSCH, PUBEDU, PRIHOS, PUBHOS, NGO
  • country: (string, required) – ISO country code.
  • state, county, postal_code, ip_address: (optional) – Additional location context.
  • tax_id: (string, required) – The tax identifier to validate.
  • customer_name: (string, optional) – Used for name matching with registry.

Response Fields

  • taxability: (boolean) – Whether the product is taxable.
  • country_rate, state_rate, county_rate, special_rate, additional_rate, total_rate: (integer) – Tax rates in basis points.
  • reverse_charge_applicable: (boolean) – Reverse charge status.
  • exempt: (boolean) – Whether tax is fully exempt.
  • tax_id_valid: (boolean) – Whether the ID is valid.
  • customer_name_registry: (string) – Name returned by registry.
  • customer_name_match: (boolean) – If provided name matches registry.
  • customer_type: (string) – Inferred customer type.
  • validated_country, validated_state: (string) – Jurisdictional confirmation.
  • registry_address: (string) – Registry’s address (if available).
  • validation_source: (string) – Validation source such as VIES, GSTN.
  • validation_timestamp: (string) – ISO timestamp of the validation.
  • request_id: (string) – Internal reference for debugging and audits.

Notes

All rate fields are returned in basis points. 18000 = 18%.
Only specific test combinations and IDs work in the Sandbox. Any other inputs may yield default or empty responses.
product_id takes precedence over product_category if both are present.
customer_id takes precedence over customer_type if both are present.
Reverse charge is computed automatically based on customer classification and location.
This unified endpoint is ideal for real-time compliance, especially in invoicing or payment workflows.

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

I