curl --request GET \
--url https://api.jonahanderson.me/candidate \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.jonahanderson.me/candidate"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.jonahanderson.me/candidate', 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.jonahanderson.me/candidate",
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: Bearer <token>"
],
]);
$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://api.jonahanderson.me/candidate"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.jonahanderson.me/candidate")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jonahanderson.me/candidate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "candidate_example_001",
"name": "Example Candidate",
"title": "Senior Product Manager",
"location": "Remote, US",
"summary": "Example summary describing product strategy, integrations, and cross-functional leadership.",
"years_experience": 8,
"domains": [
"API platforms",
"Integrations",
"B2B SaaS"
]
}{
"error": {
"code": "UNAUTHORIZED",
"message": "A valid bearer token is required"
}
}Get Candidate Profile
Returns the top-level candidate profile. The example response below is illustrative only.
curl --request GET \
--url https://api.jonahanderson.me/candidate \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.jonahanderson.me/candidate"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.jonahanderson.me/candidate', 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.jonahanderson.me/candidate",
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: Bearer <token>"
],
]);
$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://api.jonahanderson.me/candidate"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.jonahanderson.me/candidate")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jonahanderson.me/candidate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "candidate_example_001",
"name": "Example Candidate",
"title": "Senior Product Manager",
"location": "Remote, US",
"summary": "Example summary describing product strategy, integrations, and cross-functional leadership.",
"years_experience": 8,
"domains": [
"API platforms",
"Integrations",
"B2B SaaS"
]
}{
"error": {
"code": "UNAUTHORIZED",
"message": "A valid bearer token is required"
}
}Authorizations
Signed bearer token returned by POST /auth/token. Send it in the Authorization header as Bearer <token>.
Response
Candidate profile.
Top-level candidate profile returned by the API.
Stable identifier for the candidate profile.
"candidate_example_001"
Display name shown for the candidate.
"Example Candidate"
Primary professional title for the candidate.
"Senior Product Manager"
Current location or region for the candidate.
"Remote, US"
Short professional summary used in the profile.
"Example summary describing product strategy, integrations, and cross-functional leadership."
Approximate number of years of professional experience.
8
Areas of expertise or industries associated with the candidate.
One domain or specialization.
["API platforms", "Integrations", "B2B SaaS"]