Key points
- Confirm the actual lookup operation and supported input.
- Keep no match, missing fields and transport failures separate.
- Use redacted evidence and bounded recovery without invented error codes.
When a contact lookup does not produce a usable record, distinguish an unsupported request, an HTTP failure, a no-match outcome and a missing field. Each needs a different next action.
This guide is a troubleshooting workflow, not an invented catalog of Dievio enrichment error codes. Confirm the actual endpoint and input in the API documentation before writing code that matches response fields.
Confirm which operation the integration calls
“Contact enrichment” can refer to different services. Dievio's profile-lookup workflow uses supported LinkedIn identifiers; public lead search uses audience filters. Neither label establishes a universal endpoint accepting arbitrary emails, names or company domains.
Record the HTTPS host, path, method and request schema. If the workflow only has a signup email, first verify that the chosen operation accepts it. Changing retry settings cannot fix the wrong input contract.
The search-versus-lookup guide helps choose the appropriate source task.
Classify the observed outcome
| Observation | What it establishes | Next step |
|---|---|---|
| Rejected credentials | The request cannot proceed under the supplied authentication | Inspect deployed configuration without logging the secret |
| Rejected input or unsupported operation | The request does not fit the implemented contract | Correct the operation or obtain a supported identifier |
| No matching record | The source did not supply a match for this operation | Review input and coverage, then use a research or no-match path |
| Matched record with missing field | Some available data was returned | Review whether the intended task can proceed without that field |
| Timeout or service failure | The integration lacks a definite usable result | Record the uncertainty and apply a bounded recovery policy |
| Source success, CRM failure | Retrieval completed but destination work did not | Recover the destination stage from stored evidence |
Parse the response that actually arrived
Check HTTP status and content type before parsing a body. Record a safe message or limited redacted diagnostic excerpt. An intermediary can return a non-JSON error, and a parser exception should not hide that original response.
Do not require fields such as error.code, documentation_url, confidence or request_id unless the specific endpoint documents them. Assign your own job and attempt references when needed, clearly labelled as application identifiers.
For public lead-search failures, use the separate implemented status reference. Do not assume it describes every lookup or destination API.
Read Dievio LinkedIn Lookup outcomes
For POST /api/linkedin/lookup, HTTP 400 indicates invalid input, HTTP 401 indicates an authentication problem, and HTTP 402 means the applicable balance cannot cover the page or charge. Fix the input, credentials or balance before retrying.
On HTTP 200, an empty data array means the page returned zero contacts. Follow next_page when has_more is true. A returned row with a missing work_email is still a matched profile. Keep the existing CRM field. If warnings reports partial phone enrichment, retain available fields and review the phone outcome before repeating a paid lookup. See the Lookup response reference.
Handle no-match and missing fields deliberately
A no-match response does not prove the person does not exist. It can reflect coverage, identifier quality or the operation's limits. Repeating the same input indefinitely does not create evidence.
A missing email should not trigger a guessed address presented as verified. Keep the record in a research state, choose another approved contact route or exclude it from the specific email task.
Define acceptance from the intended handoff. A phone task and an email task can need different fields, while both still require identity and responsibility review.
Keep retry and credit decisions separate
Use bounded retries only for recoverable conditions. A credential, input or balance problem needs its own resolution; do not treat every failure as a temporary traffic window.
Check the operation's current billing rules. A timeout does not establish that no work or charge occurred. A repeated source operation may incur paid usage again, while a stored successful result can often support destination recovery without another lookup.
The retry workflow explains attempt limits and uncertain outcomes.
Escalate with reproducible, redacted evidence
- State the supported operation and expected result.
- Record a timestamp, application attempt reference and relevant status.
- Provide a safely minimized request shape and response observation.
- Explain whether the source result was stored or remained uncertain.
- Identify affected jobs and the action currently paused.
Keep API keys and unnecessary contact data out of shared diagnostics. After correcting the cause, reconcile unresolved jobs rather than assuming the fix completed earlier destination work.



