Partial data
Two forms of partial data: the partial status, unbilled, and optional fields missing from a complete result. How to recognise them and what to do with them.
A response can be partial in two ways, which should not be confused:
| Form | Where to see it | Billed |
|---|---|---|
The partial status | enrichment.status | No |
| An unknown optional field in a complete result | merchant.logo_url absent, merchant.location set to null | Depends on the status (resolved is billed) |
The partial status
partial means an identity exists but does not satisfy the resolution policy: a required field is missing, or its confidence is below the threshold. The enrichment is not billed (billable: false, units: 0), and in Sandbox it does not consume the allowance.
"merchant": { "name": "Enseigne", "location": null, "confidence": 0.88 },
"enrichment": { "status": "partial", "reason": "missing_required_fields", "…": "…" }JSONThis excerpt illustrates the shape: here category is missing, which is enough to make the result partial.
What a partial guarantees:
merchantis notnulland carries aname;enrichment.reasonsays why the result is notresolved.
reason | What is missing | What you can do |
|---|---|---|
missing_required_fields | A required field, most often category | Display the name, without a category |
confidence_below_threshold | Sufficient confidence | Display with reservations, or have it reviewed |
logo_required, location_required | A logo or location required by the policy | Does not occur under the policy in force |
policy_not_calibrated, unspecified | See Statuses | Treat as a generic partial |
Optional fields of a complete result
Under the policy in force, a resolved result always carries name and category. The other fields depend on what the catalogue knows:
| Field | When it is unknown |
|---|---|
logo_url | Omitted |
location | Present, set to null |
location.city or location.postal_code | One of the two may be omitted; never both |
A resolved result without a logo or location is still a complete, billed result: the policy does not require them.
What to do with partial data
- Do not promote a
partialtoresolved. Its name may well be right, but Noryo does not stand behind it, which is why it is not billed. - Display what is there, without inventing the rest. No generic logo presented as the brand's, no city inferred from your
country. - Try again later if useful. A refresh with the same economic input can end in
refresh_recalculated; it is billed only in that case. See Refresh. - Measure the share of
partialin your traffic, by reason: it is the most direct coverage signal. The Usage page of Platform counts them per day.
const m = body.merchant;
if (body.enrichment.status === "partial") {
show({ name: m.name, category: m.category ?? null, logo: null, tentative: true });
}TypeScriptPublished on 2026-10-08 21:04 UTC (version 1).