Get Profiles
curl --request GET \
--url https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles \
--header 'X-API-KEY: <api-key>'import requests
url = "https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles', 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://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "9ef1c5db-9c40-4329-aec6-d3b3230b45b9",
"addedAt": "2025-01-06T16:26:40.484813+00:00",
"birthday": null,
"canSendInMail": null,
"countConnexionsWithThisProfile": 0,
"countInvitationsScheduledToThisProfile": 0,
"countInvitationsSentToThisProfile": 0,
"countApplicationsFromThisProfile": 0,
"countMeetingsDoneWithThisProfile": 0,
"countMeetingsScheduledWithThisProfile": 0,
"countMessagesReceivedFromThisProfile": 0,
"countMessagesScheduledToThisProfile": 0,
"countMessagesSentToThisProfile": 0,
"createdAt": "2025-01-06T16:26:40.484813+00:00",
"createdByUserId": "0024184e-0780-4f3b-be35-9c057ad94ec4",
"deletedAt": null,
"distance": null,
"externalId": null,
"firstInteractionDate": null,
"firstName": "Johan",
"firstNameParsed": null,
"firstNameManual": "Johan",
"groupId": "952582b4-bb51-461e-b566-0e5f980f4660",
"countResumes": 0,
"headline": null,
"imageId": null,
"isTalent": true,
"isContact": false,
"isHiring": null,
"isOpenToNewOpportunities": null,
"isInfluencer": false,
"isPremium": false,
"lastInteractionDate": null,
"lastPastInteractionDate": null,
"lastInteractionType": null,
"lastPositionStartDate": null,
"lastName": "Barri",
"lastNameParsed": null,
"lastNameManual": "Barri",
"linkedinId": null,
"locationId": null,
"memberId": null,
"profileUrl": null,
"publicIdentifier": null,
"primaryLocale": null,
"searchString": "johan barri johan",
"source": "MANUAL",
"statusId": "b2d697e3-668d-42d1-a340-1920f920a7ca",
"talentIdentifier": null,
"linkedinSalesNavigatorIdentifier": null,
"linkedinSignificantIdentifier": null,
"summary": null,
"updatedAt": "2025-01-06T16:26:40.484813+00:00",
"pendingExecuteTriggerTasks": [],
"unreadMessagesNotifications": {
"aggregate": {
"count": 0,
"__typename": "notifications_aggregate_fields"
},
"__typename": "notifications_aggregate"
},
"protectedCompaniesWorksIn": [],
"createdBy": {
"displayName": "Sarah Le Roué",
"id": "0024184e-0780-4f3b-be35-9c057ad94ec4",
"__typename": "users"
},
"image": null,
"locations": [],
"files": [],
"positions": [],
"locales": [],
"educations": [],
"fieldsValues": [],
"emailAddresses": [],
"phoneNumbers": [],
"assignees": [
{
"user": {
"displayName": "Sarah Le Roué",
"id": "0024184e-0780-4f3b-be35-9c057ad94ec4",
"__typename": "users"
},
"__typename": "profiles_assignees_cache"
}
],
"status": {
"title": "jarvis.statuses.notContacted",
"color": {
"id": "#d1c4e9",
"name": "deep-purple-100",
"__typename": "colors"
},
"isAuto": true,
"id": "b2d697e3-668d-42d1-a340-1920f920a7ca",
"isProtected": false,
"__typename": "statuses"
},
"associations": [],
"__typename": "profiles"
}
],
"total": 1
}REST API Reference
[Profiles] List
Get all profiles with their custom fields, files, and more. This endpoint is not paginated, you got enverything at once.
Get Profiles
curl --request GET \
--url https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles \
--header 'X-API-KEY: <api-key>'import requests
url = "https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles', 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://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://functions.prod.jarvi.tech/v1/public-api/rest/v2/profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "9ef1c5db-9c40-4329-aec6-d3b3230b45b9",
"addedAt": "2025-01-06T16:26:40.484813+00:00",
"birthday": null,
"canSendInMail": null,
"countConnexionsWithThisProfile": 0,
"countInvitationsScheduledToThisProfile": 0,
"countInvitationsSentToThisProfile": 0,
"countApplicationsFromThisProfile": 0,
"countMeetingsDoneWithThisProfile": 0,
"countMeetingsScheduledWithThisProfile": 0,
"countMessagesReceivedFromThisProfile": 0,
"countMessagesScheduledToThisProfile": 0,
"countMessagesSentToThisProfile": 0,
"createdAt": "2025-01-06T16:26:40.484813+00:00",
"createdByUserId": "0024184e-0780-4f3b-be35-9c057ad94ec4",
"deletedAt": null,
"distance": null,
"externalId": null,
"firstInteractionDate": null,
"firstName": "Johan",
"firstNameParsed": null,
"firstNameManual": "Johan",
"groupId": "952582b4-bb51-461e-b566-0e5f980f4660",
"countResumes": 0,
"headline": null,
"imageId": null,
"isTalent": true,
"isContact": false,
"isHiring": null,
"isOpenToNewOpportunities": null,
"isInfluencer": false,
"isPremium": false,
"lastInteractionDate": null,
"lastPastInteractionDate": null,
"lastInteractionType": null,
"lastPositionStartDate": null,
"lastName": "Barri",
"lastNameParsed": null,
"lastNameManual": "Barri",
"linkedinId": null,
"locationId": null,
"memberId": null,
"profileUrl": null,
"publicIdentifier": null,
"primaryLocale": null,
"searchString": "johan barri johan",
"source": "MANUAL",
"statusId": "b2d697e3-668d-42d1-a340-1920f920a7ca",
"talentIdentifier": null,
"linkedinSalesNavigatorIdentifier": null,
"linkedinSignificantIdentifier": null,
"summary": null,
"updatedAt": "2025-01-06T16:26:40.484813+00:00",
"pendingExecuteTriggerTasks": [],
"unreadMessagesNotifications": {
"aggregate": {
"count": 0,
"__typename": "notifications_aggregate_fields"
},
"__typename": "notifications_aggregate"
},
"protectedCompaniesWorksIn": [],
"createdBy": {
"displayName": "Sarah Le Roué",
"id": "0024184e-0780-4f3b-be35-9c057ad94ec4",
"__typename": "users"
},
"image": null,
"locations": [],
"files": [],
"positions": [],
"locales": [],
"educations": [],
"fieldsValues": [],
"emailAddresses": [],
"phoneNumbers": [],
"assignees": [
{
"user": {
"displayName": "Sarah Le Roué",
"id": "0024184e-0780-4f3b-be35-9c057ad94ec4",
"__typename": "users"
},
"__typename": "profiles_assignees_cache"
}
],
"status": {
"title": "jarvis.statuses.notContacted",
"color": {
"id": "#d1c4e9",
"name": "deep-purple-100",
"__typename": "colors"
},
"isAuto": true,
"id": "b2d697e3-668d-42d1-a340-1920f920a7ca",
"isProtected": false,
"__typename": "statuses"
},
"associations": [],
"__typename": "profiles"
}
],
"total": 1
}You must use your private api key for this request.
Authorizations
Query Parameters
An ISO 8601 date string to filter profiles updated after this date
A JSON object string containing the graphQL filters for more advanced usage
A JSON object string containing the order. Example: { "createdAt": "desc" }
The number of profiles to return. Default is 100, max is 1000
Return profiles starting from this offset
⌘I