Docs menu
Get started
API reference
Classification
Landed cost
Products
Compliance
Reference
Origin
API reference
Find an agency product code
POST https://api.border.bot/v1/classify/regulator
Requires an API key (Authorization: Bearer bb_live_…).
The product code the destination’s import agency asks for, in that agency’s coding scheme: for the US, FDA’s import product code (e.g. 16AYN07) for foods, drugs, devices, cosmetics and other goods FDA regulates. The answer names the agency and scheme, lists the code’s parts in order, and says whether the agency’s own check accepted it. Costs 1 credit; goods the agency doesn’t regulate are refused (details.reason: "not_regulated", with details.agency) and refunded.
API key scope: classify.
Headers#
| Name | Type | Required | Description |
|---|---|---|---|
idempotency-key |
string | no | Make retries safe: a repeat with the same key returns the original result without charging again (keys are scoped to your workspace). |
Request body (JSON)#
| Name | Type | Required | Description |
|---|---|---|---|
description |
string | yes | What the product is, what it is made of, and how it is processed or packed (frozen, smoked, canned…). |
destinationCountry |
string | yes | Where the goods are imported. Its import agency and coding scheme follow from it (for US, FDA’s import product codes). |
hsCode |
string | no | The goods’ tariff code, when known: a hint for the product pick. |
Responses#
200: The agency product code and the credits charged. (RegulatorClassifyResponse)400: Invalid input (invalid_input). (Error)401: Missing, invalid, revoked or expired API key (unauthorized). (Error)402: Not enough credits (insufficient_credits). Nothing was charged. (Error)403: Workspace suspended, action disabled, or the key lacks the scope (org_suspended,action_disabled,forbidden). (Error)409: A request with this Idempotency-Key is still in progress (conflict). (Error)422: No agency product codes for this destination yet (unsupported_country). (Error)429: Rate limited (rate_limited). Retry afterRetry-Afterseconds;RateLimitsays which limit was hit (r=0,tseconds until its window ends) andRateLimit-Policyits quota. (Error)500: Unexpected error (internal). (Error)502: The engine failed (upstream_error). The credits are refunded automatically. (Error)504: The engine timed out (upstream_timeout). The credits are refunded automatically. (Error)
Example#
curl -X POST 'https://api.border.bot/v1/classify/regulator' \
-H 'Authorization: Bearer bb_live_...' \
-H 'Content-Type: application/json' \
-d '{"description":"<string>","destinationCountry":"<string>"}'