Enums & Types Reference
This page documents all enums and types used throughout the ShipVAT API.
Tax Types
Used in rate queries to filter by type of tax.
| Value | Description |
|---|
VAT | Value Added Tax (EU, UK) |
GST | Goods and Services Tax (Canada federal, Australia) |
HST | Harmonized Sales Tax (Canada - ON, NB, NS, NL, PE) |
PST | Provincial Sales Tax (Canada - BC, SK, MB) |
QST | Quebec Sales Tax (Canada - QC) |
SALES_TAX | State Sales Tax (US) |
type TaxType = 'VAT' | 'GST' | 'HST' | 'PST' | 'QST' | 'SALES_TAX';
Rate Categories
Categories of tax rates within a jurisdiction.
| Value | Description |
|---|
STANDARD | Standard rate (most goods and services) |
REDUCED | Reduced rate (essentials, specific goods) |
ZERO | Zero-rated (exports, certain food items) |
SUPER_REDUCED | Super-reduced rate (some EU countries) |
type RateCategory = 'STANDARD' | 'REDUCED' | 'ZERO' | 'SUPER_REDUCED';
Jurisdiction Types
Classification of supported jurisdictions.
| Value | Description | Examples |
|---|
EU_COUNTRY | EU member state | DE, FR, IT, ES, NL |
COUNTRY | Non-EU country | GB, AU, NO, CH |
US_STATE | US state or territory | US-CA, US-NY, US-TX |
CA_PROVINCE | Canadian province/territory | CA-ON, CA-QC, CA-BC |
SUPRANATIONAL | Supranational entity | EU |
Threshold Types
Types of registration/nexus thresholds.
| Value | Description | Regions |
|---|
VAT_REGISTRATION | Domestic VAT registration threshold | EU, UK |
REMOTE_SELLER_NEXUS | Economic nexus for remote sellers | US states |
PST_REMOTE_SELLER | PST threshold for remote sellers | CA-BC, CA-SK, CA-MB |
GST_SMALL_SUPPLIER | GST small supplier exemption | Canada, Australia |
EU_OSS_THRESHOLD | EU One-Stop Shop threshold | EU (cross-border) |
Threshold Conditions
How multiple criteria (amount + transactions) are evaluated.
| Value | Description | Example |
|---|
OR | Meet either amount OR transaction count | CA: $500k OR 200 transactions |
AND | Must meet both amount AND transaction count | NY: $500k AND 100 transactions |
AMOUNT_ONLY | Only amount threshold applies | Most EU countries |
TX_ONLY | Only transaction count applies | Rare |
type ThresholdCondition = 'OR' | 'AND' | 'AMOUNT_ONLY' | 'TX_ONLY';
Measurement Periods
Time periods for threshold evaluation.
| Value | Description |
|---|
previous_calendar_year | Jan 1 - Dec 31 of prior year |
current_calendar_year | Jan 1 - Dec 31 of current year |
last_12_months | Rolling 12-month period |
type Period = 'previous_calendar_year' | 'current_calendar_year' | 'last_12_months';
Data Status
Quality status of rate/threshold data.
| Value | Description |
|---|
VERIFIED | Confirmed from official source |
UNVERIFIED | Pending verification |
type DataStatus = 'VERIFIED' | 'UNVERIFIED';
Sync Status
Status of data collector jobs.
| Value | Description |
|---|
SUCCESS | Last sync completed successfully |
FAILED | Last sync encountered an error |
RUNNING | Sync currently in progress |
type SyncStatus = 'SUCCESS' | 'FAILED' | 'RUNNING';
Subscription Tiers
API access tiers and their limits.
| Tier | Rate Limit | Price |
|---|
free | 10 req/min | $0 |
pro | 1,000 req/min | $49/month |
enterprise | 10,000 req/min | Custom |
type SubscriptionTier = 'free' | 'pro' | 'enterprise';
Jurisdiction Codes
EU Countries (27)
| Code | Country |
|---|
AT | Austria |
BE | Belgium |
BG | Bulgaria |
HR | Croatia |
CY | Cyprus |
CZ | Czechia |
DK | Denmark |
EE | Estonia |
FI | Finland |
FR | France |
DE | Germany |
GR | Greece |
HU | Hungary |
IE | Ireland |
IT | Italy |
LV | Latvia |
LT | Lithuania |
LU | Luxembourg |
MT | Malta |
NL | Netherlands |
PL | Poland |
PT | Portugal |
RO | Romania |
SK | Slovakia |
SI | Slovenia |
ES | Spain |
SE | Sweden |
Other Countries
| Code | Country |
|---|
GB | United Kingdom |
AU | Australia |
NO | Norway |
CH | Switzerland |
IS | Iceland |
US States (50 + DC)
| Code | State | Has Sales Tax |
|---|
US-AL | Alabama | ✓ |
US-AK | Alaska | ✓ (local only) |
US-AZ | Arizona | ✓ |
US-AR | Arkansas | ✓ |
US-CA | California | ✓ |
US-CO | Colorado | ✓ |
US-CT | Connecticut | ✓ |
US-DE | Delaware | ✗ |
US-DC | District of Columbia | ✓ |
US-FL | Florida | ✓ |
US-GA | Georgia | ✓ |
US-HI | Hawaii | ✓ |
US-ID | Idaho | ✓ |
US-IL | Illinois | ✓ |
US-IN | Indiana | ✓ |
US-IA | Iowa | ✓ |
US-KS | Kansas | ✓ |
US-KY | Kentucky | ✓ |
US-LA | Louisiana | ✓ |
US-ME | Maine | ✓ |
US-MD | Maryland | ✓ |
US-MA | Massachusetts | ✓ |
US-MI | Michigan | ✓ |
US-MN | Minnesota | ✓ |
US-MS | Mississippi | ✓ |
US-MO | Missouri | ✓ |
US-MT | Montana | ✗ |
US-NE | Nebraska | ✓ |
US-NV | Nevada | ✓ |
US-NH | New Hampshire | ✗ |
US-NJ | New Jersey | ✓ |
US-NM | New Mexico | ✓ |
US-NY | New York | ✓ |
US-NC | North Carolina | ✓ |
US-ND | North Dakota | ✓ |
US-OH | Ohio | ✓ |
US-OK | Oklahoma | ✓ |
US-OR | Oregon | ✗ |
US-PA | Pennsylvania | ✓ |
US-RI | Rhode Island | ✓ |
US-SC | South Carolina | ✓ |
US-SD | South Dakota | ✓ |
US-TN | Tennessee | ✓ |
US-TX | Texas | ✓ |
US-UT | Utah | ✓ |
US-VT | Vermont | ✓ |
US-VA | Virginia | ✓ |
US-WA | Washington | ✓ |
US-WV | West Virginia | ✓ |
US-WI | Wisconsin | ✓ |
US-WY | Wyoming | ✓ |
No Sales Tax States: Delaware (DE), Montana (MT), New Hampshire (NH), Oregon (OR). Alaska has no state sales tax but allows local taxes.
Canadian Provinces (13)
| Code | Province/Territory | Tax Types |
|---|
CA-AB | Alberta | GST only |
CA-BC | British Columbia | GST + PST |
CA-MB | Manitoba | GST + PST |
CA-NB | New Brunswick | HST |
CA-NL | Newfoundland and Labrador | HST |
CA-NT | Northwest Territories | GST only |
CA-NS | Nova Scotia | HST |
CA-NU | Nunavut | GST only |
CA-ON | Ontario | HST |
CA-PE | Prince Edward Island | HST |
CA-QC | Quebec | GST + QST |
CA-SK | Saskatchewan | GST + PST |
CA-YT | Yukon | GST only |
Error Codes
API error responses include these codes:
| Code | HTTP Status | Description |
|---|
UNAUTHORIZED | 401 | Invalid or missing API key |
RATE_LIMIT_EXCEEDED | 429 | Too many requests |
VALIDATION_ERROR | 400 | Invalid request parameters |
INVALID_DATE_FORMAT | 400 | Date not in YYYY-MM-DD format |
JURISDICTION_NOT_SUPPORTED | 404 | Unknown jurisdiction code |
RATE_NOT_FOUND | 404 | No rate for jurisdiction/date |
THRESHOLD_NOT_FOUND | 404 | No threshold for jurisdiction |
DATA_STALE | 503 | Data sync failed, may be outdated |
INTERNAL_ERROR | 500 | Unexpected server error |