Troubleshoot Lookup per-field verdicts (200 with coming_soon / not_implemented / error)
The Full Intelligence endpoint (GET /api/v1/numbers/lookup/:phone) answers 200 whenever
the base lookup succeeded — even when every fields= data package you asked for came back
without a payload. Isolation is per field: the base lookup and each data package run
independently, so a provider fault on one field does not blank the others.
That means a 200 is not a guarantee of data. Read every dataPackages entry’s status
before you treat the lookup as enriched.
1. Decode the status buckets
Each non-available status tells you a different thing:
The 502
LOOKUP_FAILED code (both providers down, or the fallback unreachable) is a
different failure mode — the whole lookup failed, not just one field. That is handled in
the Lookup and messaging-service failures runbook.2. Map the field to its provider
Map the failing field to its provider before you conclude anything — only some fields can come backcoming_soon, and each has a specific activation path:
3. Retry or escalate?
- Fix the request yourself:
errorwith a request-shaped reason —identity_attributes_requiredonidentity_match, orconsent_date_requiredonreassigned_number. Send the missing attribute/date and the field returns real data. - Retry once, then escalate:
errorwith a genuine provider rejection on a field that normally returns data. One retry is enough — a repeat failure points at the provider, not at your request. - Never retry:
coming_soonandnot_implemented. Replaying burns wallet without changing the answer.
4. Escalation bundle
When you open a support ticket, include:- The
meta.request_idof the failed lookup. - The exact
fields=selector you sent. - The per-field status buckets you received — each
coming_soon,not_implemented, orerrorentry with itsreasonandproviderstrings.
Related references
- Number lookup and messaging-service failures —
the 502
LOOKUP_FAILEDand theMESSAGING_SERVICE_*resolution codes this page’s sibling runbook owns. - Number Lookup — the full data-packages catalog, the
fields=selector contract, and the per-field status table. - Error codes reference — the wire surface the
LOOKUP_FAILEDcode is registered on.