Get candidate profile for an application
Returns the candidate’s structured profile (identity, employments, educations, languages, skills, hobbies) as extracted from their CV. Same data as the profile tab in the UI.
curl --request GET \
--url https://jobaffinity.fr/restapi/v1/application/{applicationid}/profile \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://jobaffinity.fr/restapi/v1/application/{applicationid}/profile"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://jobaffinity.fr/restapi/v1/application/{applicationid}/profile', 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://jobaffinity.fr/restapi/v1/application/{applicationid}/profile",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$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://jobaffinity.fr/restapi/v1/application/{applicationid}/profile"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://jobaffinity.fr/restapi/v1/application/{applicationid}/profile")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://jobaffinity.fr/restapi/v1/application/{applicationid}/profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"_status": "OK",
"_schema": "<string>",
"identity": [
{
"first_name": "<string>",
"last_name": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"address": "<string>",
"zip_code": "<string>",
"town": "<string>",
"country": "<string>"
}
],
"employments": [
{
"start": "<string>",
"end": "<string>",
"readable_start": "<string>",
"readable_end": "<string>",
"title": "<string>",
"employer": "<string>",
"description": "<string>"
}
],
"educations": [
{
"start": "<string>",
"end": "<string>",
"readable_start": "<string>",
"readable_end": "<string>",
"title": "<string>",
"institution": "<string>",
"level": 123,
"level_text": "<string>",
"description": "<string>"
}
],
"languages": [
{
"name": "<string>",
"level": 123,
"level_name": "<string>"
}
],
"skills": [
{
"name": "<string>",
"level": 123,
"level_name": "<string>"
}
],
"hobbies": [
{
"name": "<string>"
}
],
"avatar_url": "<string>",
"cv_url": "<string>",
"cv_unreachable": true,
"scoring": {
"score": 123,
"label": "<string>",
"evaluated": true,
"strong_points": [
{
"text": "<string>",
"details": [
"<string>"
]
}
],
"weak_points": [
{
"text": "<string>",
"details": [
"<string>"
]
}
]
}
}{
"_status": "INVALID",
"error": "<string>"
}Authorizations
HTTP Basic Authentication with API credentials
Path Parameters
Application ID
Query Parameters
Narrow the read to a single organisation. Without it, the caller keeps its full visibility.
Response
Candidate profile
OK, INVALID Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Presigned URL to the candidate avatar image, or empty string if none. Short-lived (~1 hour).
Presigned URL to a CV document, or empty string if none. Falls back to the candidate's latest CV when the application's own document is missing. Short-lived (~1 hour).
True when a CV is attached but its file cannot be served.
Matching evaluation of the application. Empty (evaluated false) when never scored.
Show child attributes
Show child attributes
curl --request GET \
--url https://jobaffinity.fr/restapi/v1/application/{applicationid}/profile \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://jobaffinity.fr/restapi/v1/application/{applicationid}/profile"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://jobaffinity.fr/restapi/v1/application/{applicationid}/profile', 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://jobaffinity.fr/restapi/v1/application/{applicationid}/profile",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$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://jobaffinity.fr/restapi/v1/application/{applicationid}/profile"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://jobaffinity.fr/restapi/v1/application/{applicationid}/profile")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://jobaffinity.fr/restapi/v1/application/{applicationid}/profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"_status": "OK",
"_schema": "<string>",
"identity": [
{
"first_name": "<string>",
"last_name": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"address": "<string>",
"zip_code": "<string>",
"town": "<string>",
"country": "<string>"
}
],
"employments": [
{
"start": "<string>",
"end": "<string>",
"readable_start": "<string>",
"readable_end": "<string>",
"title": "<string>",
"employer": "<string>",
"description": "<string>"
}
],
"educations": [
{
"start": "<string>",
"end": "<string>",
"readable_start": "<string>",
"readable_end": "<string>",
"title": "<string>",
"institution": "<string>",
"level": 123,
"level_text": "<string>",
"description": "<string>"
}
],
"languages": [
{
"name": "<string>",
"level": 123,
"level_name": "<string>"
}
],
"skills": [
{
"name": "<string>",
"level": 123,
"level_name": "<string>"
}
],
"hobbies": [
{
"name": "<string>"
}
],
"avatar_url": "<string>",
"cv_url": "<string>",
"cv_unreachable": true,
"scoring": {
"score": 123,
"label": "<string>",
"evaluated": true,
"strong_points": [
{
"text": "<string>",
"details": [
"<string>"
]
}
],
"weak_points": [
{
"text": "<string>",
"details": [
"<string>"
]
}
]
}
}{
"_status": "INVALID",
"error": "<string>"
}