Get And Enrich Contact
Load a contact and complete whatever it is missing with a provider.
curl --request POST \
--url https://api.topo.io/v1/contacts/get-and-enrich \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"linkedin_url": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
contact_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
email: '<string>',
linkedin_url: '<string>'
})
};
fetch('https://api.topo.io/v1/contacts/get-and-enrich', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.topo.io/v1/contacts/get-and-enrich"
payload = {
"contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"linkedin_url": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"found": true,
"completed": true,
"enriched": true,
"active_sequence_count": 123,
"active_sequence_names": [
"<string>"
],
"enrichment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"job_title": "<string>",
"linkedin_url": "<string>",
"phone_number": "<string>",
"company_name": "<string>",
"company_domain": "<string>",
"city": "<string>",
"country": "<string>"
}GET /v1/contacts/{contact_id} for a free, read-only load.
Requires the contacts:write scope on the API key.Authorizations
Bearer API key issued from Settings → Developers.
Body
Get And Enrich Contact payload
Response
Successful Response
Whether a contact matching the input exists in the workspace.
Whether enrichment finished. false while the lookup is still running: collect the answer with enrichment_id.
Whether email, job title, and company domain are all known.
Sequences the contact is currently enrolled in.
Names of the sequence templates currently running.
Set when completed is false: pass it to GET /v1/contacts/enrichments/{enrichment_id} to collect the answer instead of enriching again.
Matched contact in this workspace.
Account the matched contact belongs to.
Email.
First name.
Last name.
Job title.
LinkedIn profile URL.
Phone number.
Employer name.
Employer's primary domain.
City.
Country.
Was this page helpful?
curl --request POST \
--url https://api.topo.io/v1/contacts/get-and-enrich \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"linkedin_url": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
contact_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
email: '<string>',
linkedin_url: '<string>'
})
};
fetch('https://api.topo.io/v1/contacts/get-and-enrich', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.topo.io/v1/contacts/get-and-enrich"
payload = {
"contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"linkedin_url": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"found": true,
"completed": true,
"enriched": true,
"active_sequence_count": 123,
"active_sequence_names": [
"<string>"
],
"enrichment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"job_title": "<string>",
"linkedin_url": "<string>",
"phone_number": "<string>",
"company_name": "<string>",
"company_domain": "<string>",
"city": "<string>",
"country": "<string>"
}