Search CRM contacts
curl --request POST \
--url https://app.leonar.app/api/v1/sourcing/contacts/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_titles": [
"<string>"
],
"companies": [
"<string>"
],
"locations": {
"cities": [
"<string>"
],
"states": [
"<string>"
],
"countries": [
"<string>"
]
},
"keywords": [
"<string>"
],
"skills": [
"<string>"
],
"first_name": "<string>",
"last_name": "<string>",
"full_name": "<string>",
"contact_types": [],
"tags": [
"<string>"
],
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"sequence_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"stage_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"stage_categories": [],
"created_after": "<string>",
"created_before": "<string>",
"page": 1,
"page_size": 20
}
'import requests
url = "https://app.leonar.app/api/v1/sourcing/contacts/search"
payload = {
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_titles": ["<string>"],
"companies": ["<string>"],
"locations": {
"cities": ["<string>"],
"states": ["<string>"],
"countries": ["<string>"]
},
"keywords": ["<string>"],
"skills": ["<string>"],
"first_name": "<string>",
"last_name": "<string>",
"full_name": "<string>",
"contact_types": [],
"tags": ["<string>"],
"project_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"sequence_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"stage_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"stage_categories": [],
"created_after": "<string>",
"created_before": "<string>",
"page": 1,
"page_size": 20
}
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({
project_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
job_titles: ['<string>'],
companies: ['<string>'],
locations: {cities: ['<string>'], states: ['<string>'], countries: ['<string>']},
keywords: ['<string>'],
skills: ['<string>'],
first_name: '<string>',
last_name: '<string>',
full_name: '<string>',
contact_types: [],
tags: ['<string>'],
project_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
sequence_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
stage_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
stage_categories: [],
created_after: '<string>',
created_before: '<string>',
page: 1,
page_size: 20
})
};
fetch('https://app.leonar.app/api/v1/sourcing/contacts/search', 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://app.leonar.app/api/v1/sourcing/contacts/search",
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([
'project_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'job_titles' => [
'<string>'
],
'companies' => [
'<string>'
],
'locations' => [
'cities' => [
'<string>'
],
'states' => [
'<string>'
],
'countries' => [
'<string>'
]
],
'keywords' => [
'<string>'
],
'skills' => [
'<string>'
],
'first_name' => '<string>',
'last_name' => '<string>',
'full_name' => '<string>',
'contact_types' => [
],
'tags' => [
'<string>'
],
'project_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'sequence_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'stage_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'stage_categories' => [
],
'created_after' => '<string>',
'created_before' => '<string>',
'page' => 1,
'page_size' => 20
]),
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://app.leonar.app/api/v1/sourcing/contacts/search"
payload := strings.NewReader("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"full_name\": \"<string>\",\n \"contact_types\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"project_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sequence_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories\": [],\n \"created_after\": \"<string>\",\n \"created_before\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\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://app.leonar.app/api/v1/sourcing/contacts/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"full_name\": \"<string>\",\n \"contact_types\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"project_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sequence_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories\": [],\n \"created_after\": \"<string>\",\n \"created_before\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.leonar.app/api/v1/sourcing/contacts/search")
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 \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"full_name\": \"<string>\",\n \"contact_types\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"project_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sequence_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories\": [],\n \"created_after\": \"<string>\",\n \"created_before\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\n}"
response = http.request(request)
puts response.read_body{
"data": {
"profiles": [
{
"profile_id": "ACwAABrjaVMBOLcCrV5aEw1zCAjE_zec6PbnU1A",
"first_name": "Sophie",
"last_name": "Martin",
"headline": "Senior Software Engineer at Doctolib",
"picture_url": "https://media.licdn.com/dms/image/example.jpg",
"location": "Paris, Île-de-France, France",
"linkedin_url": "https://www.linkedin.com/in/sophie-martin",
"summary": "Experienced engineer with 8 years in full-stack development...",
"current_job": {
"title": "Senior Software Engineer",
"company_name": "Doctolib"
},
"experiences": [
{
"title": "Senior Software Engineer",
"company_name": "Doctolib",
"start_date": "2021-03-01",
"end_date": null,
"description": "Leading backend team, Python/Django stack...",
"is_current": true
},
{
"title": "Software Engineer",
"company_name": "Criteo",
"start_date": "2018-01-01",
"end_date": "2021-02-28",
"description": "Built real-time bidding systems in Python...",
"is_current": false
}
],
"educations": [
{
"educational_establishment": "École Polytechnique",
"diploma": "Master of Engineering",
"specialization": "Computer Science",
"start_date": "2014-09-01",
"end_date": "2018-06-30"
}
],
"skills": [
"Python",
"Django",
"TypeScript",
"PostgreSQL"
],
"total_years_experience": 8.2,
"already_in_project": false,
"existing_contact_id": null
}
],
"total_count": 123,
"filtered_count": 123,
"next_page": 123,
"cursor": "<string>",
"filters_too_strict": true,
"has_more": true
}
}{
"error": {
"code": "validation_error",
"message": "Invalid input"
}
}{
"error": {
"code": "invalid_api_key",
"message": "Invalid API key"
}
}Sourcing
Search CRM contacts
Search internal CRM contacts with flat filters.
POST
/
sourcing
/
contacts
/
search
Search CRM contacts
curl --request POST \
--url https://app.leonar.app/api/v1/sourcing/contacts/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_titles": [
"<string>"
],
"companies": [
"<string>"
],
"locations": {
"cities": [
"<string>"
],
"states": [
"<string>"
],
"countries": [
"<string>"
]
},
"keywords": [
"<string>"
],
"skills": [
"<string>"
],
"first_name": "<string>",
"last_name": "<string>",
"full_name": "<string>",
"contact_types": [],
"tags": [
"<string>"
],
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"sequence_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"stage_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"stage_categories": [],
"created_after": "<string>",
"created_before": "<string>",
"page": 1,
"page_size": 20
}
'import requests
url = "https://app.leonar.app/api/v1/sourcing/contacts/search"
payload = {
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_titles": ["<string>"],
"companies": ["<string>"],
"locations": {
"cities": ["<string>"],
"states": ["<string>"],
"countries": ["<string>"]
},
"keywords": ["<string>"],
"skills": ["<string>"],
"first_name": "<string>",
"last_name": "<string>",
"full_name": "<string>",
"contact_types": [],
"tags": ["<string>"],
"project_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"sequence_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"stage_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"stage_categories": [],
"created_after": "<string>",
"created_before": "<string>",
"page": 1,
"page_size": 20
}
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({
project_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
job_titles: ['<string>'],
companies: ['<string>'],
locations: {cities: ['<string>'], states: ['<string>'], countries: ['<string>']},
keywords: ['<string>'],
skills: ['<string>'],
first_name: '<string>',
last_name: '<string>',
full_name: '<string>',
contact_types: [],
tags: ['<string>'],
project_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
sequence_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
stage_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
stage_categories: [],
created_after: '<string>',
created_before: '<string>',
page: 1,
page_size: 20
})
};
fetch('https://app.leonar.app/api/v1/sourcing/contacts/search', 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://app.leonar.app/api/v1/sourcing/contacts/search",
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([
'project_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'job_titles' => [
'<string>'
],
'companies' => [
'<string>'
],
'locations' => [
'cities' => [
'<string>'
],
'states' => [
'<string>'
],
'countries' => [
'<string>'
]
],
'keywords' => [
'<string>'
],
'skills' => [
'<string>'
],
'first_name' => '<string>',
'last_name' => '<string>',
'full_name' => '<string>',
'contact_types' => [
],
'tags' => [
'<string>'
],
'project_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'sequence_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'stage_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'stage_categories' => [
],
'created_after' => '<string>',
'created_before' => '<string>',
'page' => 1,
'page_size' => 20
]),
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://app.leonar.app/api/v1/sourcing/contacts/search"
payload := strings.NewReader("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"full_name\": \"<string>\",\n \"contact_types\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"project_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sequence_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories\": [],\n \"created_after\": \"<string>\",\n \"created_before\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\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://app.leonar.app/api/v1/sourcing/contacts/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"full_name\": \"<string>\",\n \"contact_types\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"project_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sequence_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories\": [],\n \"created_after\": \"<string>\",\n \"created_before\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.leonar.app/api/v1/sourcing/contacts/search")
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 \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"full_name\": \"<string>\",\n \"contact_types\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"project_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sequence_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories\": [],\n \"created_after\": \"<string>\",\n \"created_before\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\n}"
response = http.request(request)
puts response.read_body{
"data": {
"profiles": [
{
"profile_id": "ACwAABrjaVMBOLcCrV5aEw1zCAjE_zec6PbnU1A",
"first_name": "Sophie",
"last_name": "Martin",
"headline": "Senior Software Engineer at Doctolib",
"picture_url": "https://media.licdn.com/dms/image/example.jpg",
"location": "Paris, Île-de-France, France",
"linkedin_url": "https://www.linkedin.com/in/sophie-martin",
"summary": "Experienced engineer with 8 years in full-stack development...",
"current_job": {
"title": "Senior Software Engineer",
"company_name": "Doctolib"
},
"experiences": [
{
"title": "Senior Software Engineer",
"company_name": "Doctolib",
"start_date": "2021-03-01",
"end_date": null,
"description": "Leading backend team, Python/Django stack...",
"is_current": true
},
{
"title": "Software Engineer",
"company_name": "Criteo",
"start_date": "2018-01-01",
"end_date": "2021-02-28",
"description": "Built real-time bidding systems in Python...",
"is_current": false
}
],
"educations": [
{
"educational_establishment": "École Polytechnique",
"diploma": "Master of Engineering",
"specialization": "Computer Science",
"start_date": "2014-09-01",
"end_date": "2018-06-30"
}
],
"skills": [
"Python",
"Django",
"TypeScript",
"PostgreSQL"
],
"total_years_experience": 8.2,
"already_in_project": false,
"existing_contact_id": null
}
],
"total_count": 123,
"filtered_count": 123,
"next_page": 123,
"cursor": "<string>",
"filters_too_strict": true,
"has_more": true
}
}{
"error": {
"code": "validation_error",
"message": "Invalid input"
}
}{
"error": {
"code": "invalid_api_key",
"message": "Invalid API key"
}
}Authorizations
API key starting with leo_
Body
application/json
Show child attributes
Show child attributes
Available options:
candidate, client, lead, partner Available options:
sourced, applied, screening, submitted, interview, offer, hired, rejected, withdrawn Required range:
x >= 1Required range:
1 <= x <= 25Response
Search results
Show child attributes
Show child attributes
⌘I