Skip to main content
POST
Enrich Contact
Find a contact’s missing details from what you already know about them. The person described in the body is saved as a contact in your workspace: an existing contact is found by LinkedIn URL, then email, then name and company domain, and is never overwritten. Its missing email is then asked from Topo’s lead database and an enrichment provider, which spends enrichment credits, and saved on the contact. Use POST /v1/contacts/get-and-enrich to start from a contact you already store. A lookup that is still running after about 20 seconds returns completed: false with an enrichment_id: collect the answer with GET /v1/contacts/enrichments/{enrichment_id} rather than enriching again. Requires the contacts:write scope on the API key.

Authorizations

Authorization
string
header
required

Bearer API key issued from Settings → Developers.

Body

application/json

Enrich Contact payload

email
string | null

Email, if known.

linkedin_url
string | null

LinkedIn profile URL, if known.

first_name
string | null

First name, if known.

last_name
string | null

Last name, if known.

company_name
string | null

Employer name, if known.

company_domain
string | null

Employer's primary domain, if known.

Response

200 - application/json

Successful Response

completed
boolean
required

Whether enrichment finished. false while the lookup is still running: collect the answer with enrichment_id.

enrichment_id
string<uuid> | null

Set when completed is false: pass it to GET /v1/contacts/enrichments/{enrichment_id} to collect the answer instead of enriching again.

contact_id
string<uuid> | null

The workspace contact the answer was saved on.

email
string | null

Email.

first_name
string | null

First name.

last_name
string | null

Last name.

job_title
string | null

Job title.

linkedin_url
string | null

LinkedIn profile URL.

phone_number
string | null

Phone number.

company_name
string | null

Employer name.

company_domain
string | null

Employer's primary domain.