One API for every
compliance workflow.
The Enthron REST API exposes all platform modules through a single authenticated interface. Keys are tied to your plan's rate limits and quota allocations, and are available immediately upon subscribing to a Flex or Business plan.
# Authenticate with your API key curl -X POST https://app.enthron.ai/api/public/classify/start \ -H "X-API-Key: sk_live_<your_key>" \ -H "Content-Type: application/json" \ -d '{ "reference_id": "SHIP-2026-0041", "exporter_name": "Acme Industrial Ltd", "importer_name": "SkyTech GmbH", "origin_country": "China", "destination_country": "Germany", "product_name": "Industrial servo controller", "description": "Programmable motion controller, 24V DC" }'
API key authentication.
All requests to the Enthron API must include a valid API key in the X-API-Key request header. API keys are scoped to a single account and inherit the rate limits and module access of the associated subscription plan.
Keys are generated and managed from the API section of your Enthron dashboard. Each key can be revoked and rotated at any time without affecting other keys on the account.
The API base URL for all endpoints is https://app.enthron.ai/api/public. All responses are returned as JSON. HTTPS is required for all requests; plain HTTP connections are rejected.
X-API-Key
sk_live_<key_string>
https://app.enthron.ai/api/public
Content-Type: application/json on POST requests.
Available endpoints.
Submit a product for HS/HTSUS/TARIC/UK Tariff classification. Returns a job ID and an immediate determination, or targeted follow-up questions where clarification is needed to navigate a tariff branch.
Retrieve the current status and result of a classification job by job ID. Use to poll for completion when clarification questions are pending and answers have been submitted.
Submit answers to follow-up clarification questions for a pending classification job. Classification resumes immediately on receipt of a valid answer payload.
Screen one or more parties against all active denied party and restricted entity lists including OFAC, BIS, UFLPA, UN SC, EU CFSP, HM Treasury, and beneficial ownership chains (50% Rule). Returns match results with similarity scores.
| Endpoint | Method | Module | Description |
|---|---|---|---|
| /classify/start | POST | Classification | Submit a product for HS/HTSUS/TARIC/UK Tariff classification. Returns a classification job ID and, where the product description is sufficient, an immediate determination. Where clarification is required, returns targeted follow-up questions. |
| /classify/status | GET | Classification | Retrieve the current status and result of a classification job by job ID. Use to poll for completion when clarification questions are pending and answers have been submitted. |
| /classify/answer | POST | Classification | Submit answers to follow-up clarification questions for a pending classification job. Classification resumes immediately on receipt of a valid answer payload. |
| /screen/party | POST | Sanctions Screening | Screen one or more parties against all active denied party and restricted entity lists including OFAC, BIS, UFLPA, UN SC, EU CFSP, HM Treasury, and beneficial ownership chains (50% Rule). Returns match results with similarity scores. |
Four modules, one interface.
Product Classification
Submit the product name, description, and shipment details. The engine returns an immediate determination where description is sufficient, or a structured follow-up question where additional specificity is required to navigate a tariff branch.
The reference_id field is a caller-assigned identifier for correlating API results with your internal records. It is returned unchanged in all responses for that job.
{
"reference_id": "SHIP-2026-0041",
"exporter_name": "Acme Industrial Ltd",
"importer_name": "SkyTech GmbH",
"origin_country": "China",
"destination_country": "Germany",
"product_name": "Industrial servo controller",
"description": "Programmable motion controller, 24V DC"
}
{
"status": "needs_follow_up",
"reference_id": "SHIP-2026-0041",
"product_name": "Industrial servo controller",
"description": "Programmable motion controller, 24V DC",
"follow_up_questions": ["What specific type of equipment or machinery is this servo controller intended to operate or integrate with?"],
"result": {
"hs_code": "9032.--.--.--",
"confidence": 0.0,
"schedule": "TARIC",
"rationale": []
}
}
Sanctions & Party Screening
Screen one or more parties in a single request. Each party object should include the name and any known identifiers. The engine screens concurrently against all active lists and returns a consolidated match result for each party.
Results include a match_score (0–1) and are labeled high_risk, needs_review, or clear based on the configured match thresholds.
{
"parties": [
{
"party_name": "Global Components Ltd.",
"country": "United Kingdom"
}
]
}
{
"results": [
{
"party_name": "Global Components Ltd.",
"country": "United Kingdom",
"match_score": 0.9821,
"matched_entity": "Global Components Limited",
"matched_source": "OFAC",
"status": "high_risk"
}
]
}
Limits by plan.
Classifications per month, matching your selected Flex tier. Rate limit: up to 10 requests per minute per key.
Volume and rate limits negotiated per account. Sustained throughput of 50+ requests per second available on request. Dedicated SLA and uptime guarantee.
Rate-limit exceeded responses include a Retry-After header indicating number of seconds before request may be retried.
| Code | Status | Cause |
|---|---|---|
| 400 | Bad Request | Malformed JSON body or missing required field. Check the request schema against the endpoint reference. |
| 401 | Unauthorised | Missing or invalid X-API-Key header. Verify the key is active and correctly formatted. |
| 402 | Payment Required | Monthly quota exhausted. Purchase additional credits or upgrade your plan. |
| 404 | Not Found | The referenced job ID does not exist or belongs to a different account. |
| 429 | Too Many Requests | Per-second rate limit exceeded. Honour the Retry-After header and implement exponential backoff. |
| 500 | Server Error | Internal error. Retry with backoff. If persistent, contact support with the x-request-id response header value. |
Ready to integrate?
Your key is one step away.
API access is available on Flex and Business plans. Sign up, subscribe, and your key is available immediately from the API section of your dashboard. No approval queue. No waiting.