StableEnrich: POST /api/pdl/people-enrich
PDL Person Enrich — career history, emails, phone. Requires one of: `email`, `profile` (LinkedIn URL), or `first_name` + `last_name` + (`company_name` OR `company_domain`). `{ first_name, last_name }` alone returns 400. Prefer `email` when known, then `profile`. No match: HTTP 200, status 404, data null — not billed. Match: $0.28.
Start with a quote-only recipe. Payment signing stays in your project.
const response = await fetch("https://stable-enrich-git-shafu-pdl-people-enrich-25cca0-merit-systems.vercel.app/api/pdl/people-enrich", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
"type": "http",
"method": "POST",
"bodyType": "json",
"bodyFieldNames": [
"profile"
],
"pathParamNames": [],
"queryParamNames": []
}),
});
console.log(response.status);
console.log(Object.fromEntries(response.headers));
console.log((await response.text()).slice(0, 1000));
// A valid 402 is a quote, not a completed paid call.Review the provider input schema before running this non-read-only method. No payment code is included.
- Exact route checked
not safely testable · potentially-mutating-method:POST
- Origin reachable
HEAD https://stable-enrich-git-shafu-pdl-people-enrich-25cca0-merit-systems.vercel.app/ returned 200.
- Observed in cdp-bazaar
The registry record was observed and retained with provenance.
EVIDENCE
Each record has an exact-route quote outcome. Unresolved templates and potentially mutating methods are labeled instead of being invoked without provider-specific test input. A quote is still separate from a settled paid call.