Tariff Code Classification

Version v2
Classifications
CreateHSClassificationRequest
GetHSClassification
HSCodeValidationRequest
HSCodeVerificationRequest
NomenclatureChangeWebhook
WebhookCallback

ClassificationRequest

This model is used in the following APIs:

Parameters
classificationTypeOptional
string
Enum: managed, autoPro, autoEssentials
classificationsOptional
array

eccn (export-control classification) is a standalone activity, not a variant of export. It has two extra requirements and one routing quirk:

  • countryOfDestination is required (reused as the licence-determination jurisdiction; there is no separate ECCN jurisdiction field). Omitting it returns 422 / COD_REQUIRED.
  • item.countryOfExport is required per item — it selects the control list (US → CCL under EAR, EU → dual-use list), so without it there is no scheme to resolve a code in. Omitting it returns 422 / COE_REQUIRED_FOR_ECCN.
  • ECCN has no auto-classifier. An ECCN-primary request is re-routed to the managed pipeline for every classificationType, including autoPro and autoEssentials — it is not rejected. The response echoes the caller's original classificationType.

hsCodeTest is ignored for eccn (a test HS code is meaningless for an export-control result and must not put an hsCode back on it).

classificationModifiersOptional
ClassificationModifiers
countryOfDestinationOptional
array

Capped at 10 per request (configurable via unify.max.countries.of.destination). Exceeding returns 413.

Required when classifications includes hsFull, hs6 or eccn (422 / COD_REQUIRED). For eccn it is the licence-determination jurisdiction, not the country the code is resolved against — that is item.countryOfExport.

providedHsCodesOptional
object
hsCodeTestOptional
object

Sandbox / integration use only. Pre-supplied HS code per country of destination. When present, the server treats the listed code as the final classification for that COD and bypasses all classification logic (no Indix / HSAC call). Strictly capped to 20 characters per value.

Independent of classificationType, every COD listed in hsCodeTest is processed via the managed pipeline. When the caller asked for an auto type and supplied hsCodeTest for every entry in countryOfDestination, the entire request is re-routed to managed. Partial coverage splits the request: covered CODs run through managed, the rest through the requested auto path.

Covered CODs surface in the response as status: "classified", hsCode: "<test value>", confidence: "test". Uncovered CODs follow the regular auto response shape. The response's classificationType echoes the original caller value (re-routing is internal).

complianceDataOptional
ComplianceData
itemOptional
Item
itemsOptional
array

Bulk shape. Capped at 10 per request (configurable via unify.max.items.per.request). Exceeding returns 413.