Branching
Questions can depend on earlier answers, so a shipper only sees what's relevant.
You don't have to evaluate that logic yourself: on a session line,
visibleQuestions is the ready-to-render list, already resolved against the
current answers.
If you'd rather render everything client-side, the line's questions field
returns the full set with each question's displayCondition, so you can show and
hide questions locally as answers change.
Answer provenance
Every answer records where it came from:
INFERRED- pre-filled by Clarify from your item data. Carries aconfidencescore from0to1.MANUAL- entered or corrected by a person.SUPPLIED- a fact you sent in the request (such as intended use). There's nothing to confirm, so it isn't shown as a question.
Correcting an inferred answer replaces it with a MANUAL one. A finalized
response keeps the full mix, so there's always a record of what was pre-filled
versus what a person changed.
Dynamic options
Most questions list their choices inline in options. Some depend on the item
and on earlier answers — these set optionsSource and leave options empty.
For those, a session line includes a dependentOptions table covering every
reachable combination for the item. Find the entry whose parentValues match the
current answers, then show its options — no extra API calls.
{
"questionCode": "fda_product_code",
"dependsOn": ["intended_use"],
"entries": [
{
"parentValues": [{ "questionCode": "intended_use", "value": "cosmetic" }],
"options": [
{ "value": "53", "label": "Cosmetics" },
{ "value": "53A", "label": "Skin care preparations" }
]
}
]
}
Intended use
Pass intendedUse on each item to guide inference. When the product alone isn't
enough to determine it, Clarify uses the value you declared.
| Value↕ | For↕ |
|---|---|
PERSONAL | Personal consumption, gifts, or household use (not resale). |
CONSUMER | General consumer products sold through retail channels. |
COMMERCIAL | Business, manufacturing, or industrial purposes. |
RESEARCH | Laboratory, testing, scientific study, or clinical trials. |
Storefront and consumer-checkout flows should send CONSUMER.
Targets and containers
Target is what a set of answers describes:
CATALOG_ITEM- reusable product master data. Answer once and reuse it across shipments.ITEM- a single shipment's item. When answering for anITEM, pass itscatalogItemIdso a reusable catalog-level answer set can satisfy the program.
Container is the grouping the answers are collected under — DECLARATION,
LANDED_COST, CONSIGNMENT, or CONSOLIDATION. Use
containerComplianceReadiness to check a whole container in one call before you
file.
How it works
The behavior behind Clarify questionnaires that's useful when you build your own UI or read responses.