curl --request POST \
--url https://api.context.dev/v1/people/enrich \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"social_urls": [
"https://www.linkedin.com/in/ada-lovelace/"
],
"name": {
"first": "Ada",
"last": "Lovelace"
},
"company": {
"name": "Analytical Engines",
"domain": "analyticalengines.example"
}
}
'import requests
url = "https://api.context.dev/v1/people/enrich"
payload = {
"social_urls": ["https://www.linkedin.com/in/ada-lovelace/"],
"name": {
"first": "Ada",
"last": "Lovelace"
},
"company": {
"name": "Analytical Engines",
"domain": "analyticalengines.example"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
social_urls: ['https://www.linkedin.com/in/ada-lovelace/'],
name: {first: 'Ada', last: 'Lovelace'},
company: {name: 'Analytical Engines', domain: 'analyticalengines.example'}
})
};
fetch('https://api.context.dev/v1/people/enrich', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.context.dev/v1/people/enrich",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'social_urls' => [
'https://www.linkedin.com/in/ada-lovelace/'
],
'name' => [
'first' => 'Ada',
'last' => 'Lovelace'
],
'company' => [
'name' => 'Analytical Engines',
'domain' => 'analyticalengines.example'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.context.dev/v1/people/enrich"
payload := strings.NewReader("{\n \"social_urls\": [\n \"https://www.linkedin.com/in/ada-lovelace/\"\n ],\n \"name\": {\n \"first\": \"Ada\",\n \"last\": \"Lovelace\"\n },\n \"company\": {\n \"name\": \"Analytical Engines\",\n \"domain\": \"analyticalengines.example\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.context.dev/v1/people/enrich")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"social_urls\": [\n \"https://www.linkedin.com/in/ada-lovelace/\"\n ],\n \"name\": {\n \"first\": \"Ada\",\n \"last\": \"Lovelace\"\n },\n \"company\": {\n \"name\": \"Analytical Engines\",\n \"domain\": \"analyticalengines.example\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.context.dev/v1/people/enrich")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"social_urls\": [\n \"https://www.linkedin.com/in/ada-lovelace/\"\n ],\n \"name\": {\n \"first\": \"Ada\",\n \"last\": \"Lovelace\"\n },\n \"company\": {\n \"name\": \"Analytical Engines\",\n \"domain\": \"analyticalengines.example\"\n }\n}"
response = http.request(request)
puts response.read_body{
"match": {
"status": "candidate",
"score": 50,
"person": {
"social_urls": [
"<string>"
],
"website_urls": [
"<string>"
],
"current_role_status": "present",
"experience": [
{
"title": "<string>",
"organization": {
"name": "<string>",
"domain": "<string>"
},
"location": "<string>",
"description": "<string>",
"start_date": {
"year": 123,
"month": 6,
"day": 16
},
"end_date": {
"year": 123,
"month": 6,
"day": 16
},
"is_current": true
}
],
"education": [
{
"institution": {
"name": "<string>",
"domain": "<string>"
},
"degree": "<string>",
"field_of_study": "<string>",
"description": "<string>",
"start_date": {
"year": 123,
"month": 6,
"day": 16
},
"end_date": {
"year": 123,
"month": 6,
"day": 16
}
}
],
"skills": [
"<string>"
],
"name": {
"full": "<string>",
"first": "<string>",
"last": "<string>"
},
"email": "[email protected]",
"avatar_url": "<string>",
"bio": "<string>",
"location": {
"display": "<string>",
"city": "<string>",
"region": "<string>",
"country": "<string>",
"country_code": "<string>"
},
"current_role": {
"title": "<string>",
"organization": {
"name": "<string>",
"domain": "<string>"
},
"location": "<string>",
"description": "<string>",
"start_date": {
"year": 123,
"month": 6,
"day": 16
},
"end_date": {
"year": 123,
"month": 6,
"day": 16
},
"is_current": true
},
"last_updated": "<string>",
"checked_at": "<string>"
}
},
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"partial": true,
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"status": "<string>",
"error_code": "FREE_EMAIL_DETECTED",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"message": "<string>",
"error_code": "RATE_LIMITED",
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}Enrich Person
Enrich a person from combined identity clues and receive an identity match score.
curl --request POST \
--url https://api.context.dev/v1/people/enrich \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"social_urls": [
"https://www.linkedin.com/in/ada-lovelace/"
],
"name": {
"first": "Ada",
"last": "Lovelace"
},
"company": {
"name": "Analytical Engines",
"domain": "analyticalengines.example"
}
}
'import requests
url = "https://api.context.dev/v1/people/enrich"
payload = {
"social_urls": ["https://www.linkedin.com/in/ada-lovelace/"],
"name": {
"first": "Ada",
"last": "Lovelace"
},
"company": {
"name": "Analytical Engines",
"domain": "analyticalengines.example"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
social_urls: ['https://www.linkedin.com/in/ada-lovelace/'],
name: {first: 'Ada', last: 'Lovelace'},
company: {name: 'Analytical Engines', domain: 'analyticalengines.example'}
})
};
fetch('https://api.context.dev/v1/people/enrich', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.context.dev/v1/people/enrich",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'social_urls' => [
'https://www.linkedin.com/in/ada-lovelace/'
],
'name' => [
'first' => 'Ada',
'last' => 'Lovelace'
],
'company' => [
'name' => 'Analytical Engines',
'domain' => 'analyticalengines.example'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.context.dev/v1/people/enrich"
payload := strings.NewReader("{\n \"social_urls\": [\n \"https://www.linkedin.com/in/ada-lovelace/\"\n ],\n \"name\": {\n \"first\": \"Ada\",\n \"last\": \"Lovelace\"\n },\n \"company\": {\n \"name\": \"Analytical Engines\",\n \"domain\": \"analyticalengines.example\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.context.dev/v1/people/enrich")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"social_urls\": [\n \"https://www.linkedin.com/in/ada-lovelace/\"\n ],\n \"name\": {\n \"first\": \"Ada\",\n \"last\": \"Lovelace\"\n },\n \"company\": {\n \"name\": \"Analytical Engines\",\n \"domain\": \"analyticalengines.example\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.context.dev/v1/people/enrich")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"social_urls\": [\n \"https://www.linkedin.com/in/ada-lovelace/\"\n ],\n \"name\": {\n \"first\": \"Ada\",\n \"last\": \"Lovelace\"\n },\n \"company\": {\n \"name\": \"Analytical Engines\",\n \"domain\": \"analyticalengines.example\"\n }\n}"
response = http.request(request)
puts response.read_body{
"match": {
"status": "candidate",
"score": 50,
"person": {
"social_urls": [
"<string>"
],
"website_urls": [
"<string>"
],
"current_role_status": "present",
"experience": [
{
"title": "<string>",
"organization": {
"name": "<string>",
"domain": "<string>"
},
"location": "<string>",
"description": "<string>",
"start_date": {
"year": 123,
"month": 6,
"day": 16
},
"end_date": {
"year": 123,
"month": 6,
"day": 16
},
"is_current": true
}
],
"education": [
{
"institution": {
"name": "<string>",
"domain": "<string>"
},
"degree": "<string>",
"field_of_study": "<string>",
"description": "<string>",
"start_date": {
"year": 123,
"month": 6,
"day": 16
},
"end_date": {
"year": 123,
"month": 6,
"day": 16
}
}
],
"skills": [
"<string>"
],
"name": {
"full": "<string>",
"first": "<string>",
"last": "<string>"
},
"email": "[email protected]",
"avatar_url": "<string>",
"bio": "<string>",
"location": {
"display": "<string>",
"city": "<string>",
"region": "<string>",
"country": "<string>",
"country_code": "<string>"
},
"current_role": {
"title": "<string>",
"organization": {
"name": "<string>",
"domain": "<string>"
},
"location": "<string>",
"description": "<string>",
"start_date": {
"year": 123,
"month": 6,
"day": 16
},
"end_date": {
"year": 123,
"month": 6,
"day": 16
},
"is_current": true
},
"last_updated": "<string>",
"checked_at": "<string>"
}
},
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"partial": true,
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"status": "<string>",
"error_code": "FREE_EMAIL_DETECTED",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"message": "<string>",
"error_code": "RATE_LIMITED",
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}{
"request_id": "3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91",
"message": "<string>",
"error_code": "INTERNAL_ERROR",
"required_permission": "logs:read",
"key_metadata": {
"credits_consumed": 123,
"credits_remaining": 123
}
}Authorizations
Bearer authentication header of the form Bearer <API_KEY>. Keys have full access by default.
Body
Identity clues for one person. Provide a person email, a person-profile social URL, or both first and last name with company, education, or location. All supplied clues are considered together.
1 - 20 elementsShow child attributes
Show child attributes
320Show child attributes
Show child attributes
1 - 10 elementsShow child attributes
Show child attributes
Show child attributes
Show child attributes
Optional request deadline and behavior on timeout. For GET requests, use timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded timeoutOpts object.
Show child attributes
Show child attributes
Set to enabled to bypass shared caches and omit request and response content from retained usage logs. Asset uploads are skipped, so hosted image URLs are omitted. Requires zero data retention to be enabled for your organization (contact [email protected]), otherwise the request fails with ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
enabled, disabled Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
201 - 50["production", "team-alpha"]
Response
The highest-scoring candidate, including weak matches, or a not-found result when no usable candidate exists.
The highest-scoring person candidate.
- Candidate match
- No match
Show child attributes
Show child attributes
Unique id of this API call, also sent in the X-Request-Id response header. Quote it when contacting support about a failed request.
"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91"
True when the timeout ended processing and this response contains the usable data completed so far. Unfinished fields are omitted.
Credit usage, included whenever a valid API key is provided.
Show child attributes
Show child attributes
Was this page helpful?