Skip to content
Sandbox

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.

View as Markdown

A response can be partial in two ways, which should not be confused:

FormWhere to see itBilled
The partial statusenrichment.statusNo
An unknown optional field in a complete resultmerchant.logo_url absent, merchant.location set to nullDepends 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", "…": "…" }
JSON

This excerpt illustrates the shape: here category is missing, which is enough to make the result partial.

What a partial guarantees:

  • merchant is not null and carries a name;
  • enrichment.reason says why the result is not resolved.
reasonWhat is missingWhat you can do
missing_required_fieldsA required field, most often categoryDisplay the name, without a category
confidence_below_thresholdSufficient confidenceDisplay with reservations, or have it reviewed
logo_required, location_requiredA logo or location required by the policyDoes not occur under the policy in force
policy_not_calibrated, unspecifiedSee StatusesTreat 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:

FieldWhen it is unknown
logo_urlOmitted
locationPresent, set to null
location.city or location.postal_codeOne 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 partial to resolved. 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 partial in 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 });
}
TypeScript

Published on 2026-10-08 21:04 UTC (version 1).

Was this page helpful?