curl --request POST \
--url https://api.tryfuse.ai/api/v1/business/contacts/resolve \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"linkedinUrl": "<string>"
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/contacts/resolve"
payload = { "linkedinUrl": "<string>" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({linkedinUrl: '<string>'})
};
fetch('https://api.tryfuse.ai/api/v1/business/contacts/resolve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"contactId": "68a1f2c89c41d20014b3e955"
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Resolve the caller's contact by LinkedIn URL
Looks up the contact record for a LinkedIn profile URL and returns its contactId, the id every other contacts endpoint and every list row uses. The URL is normalised before matching, so https://www.linkedin.com/in/ada-nwosu/ and linkedin.com/in/ada-nwosu resolve the same contact; a value that carries no linkedin.com/ path is rejected with 422. Contacts are canonical records: a match is returned whether the person reached your workspace through search, an upload or an enrichment, while contacts your team created by hand are matched within your team only. Answers 404 CONTACT_NOT_FOUND when no contact exists for that URL; create it by adding the person to a list (POST /business/lists/{listId}/contacts) and resolve again. Read-only and free: it never creates or changes a contact.
Errors:
404CONTACT_NOT_FOUND— No contact exists for that LinkedIn URL.422INVALID_REQUEST— The URL could not be read as a LinkedIn profile.422VALIDATION_FAILED— The body failed validation — a missing linkedinUrl, one over 500 characters, or one that is not a linkedin.com profile URL.429RATE_LIMITED— More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After.500UNEXPECTED_ERROR— The request could not be completed; quote request_id to support.
Requires one of the following token scopes: contacts.
curl --request POST \
--url https://api.tryfuse.ai/api/v1/business/contacts/resolve \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"linkedinUrl": "<string>"
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/contacts/resolve"
payload = { "linkedinUrl": "<string>" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({linkedinUrl: '<string>'})
};
fetch('https://api.tryfuse.ai/api/v1/business/contacts/resolve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"contactId": "68a1f2c89c41d20014b3e955"
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Authorizations
Your API token (af_…) as the Basic-auth username, with an empty password.
Body
The contact's LinkedIn profile URL (max 500 characters). Any form is accepted as long as it contains linkedin.com/in/...: the protocol, www prefix and trailing slash are ignored when matching.
500Response
Success
Id of the contact for that LinkedIn URL.