Docs / Jobs
get_job_applicant
Read one applicant, with their answers to the screening questions.
This action only reads. It changes nothing, so it is safe to try.
What you give it
| Input | What it is | Where to get it |
|---|---|---|
applicantIdneeded | A applicant id. The applicant id (from list_job_applicants). | Run list_job_applicants and use applicants[].id from its answer.1 more place to get it
|
connectionIdoptional | A connection id. Which of your LinkedIn accounts to act from (its id from list_linkedin_accounts). Omit to use your first live one. | Run list_linkedin_accounts and use accounts[].id from its answer.15 more places to get it
|
Call it
curl -X POST https://api.heyreagent.com/v1/actions/get_job_applicant \
-H "Authorization: Bearer YOUR_KEY" \
-H "content-type: application/json" \
-d '{"applicantId":"PASTE_APPLICANT_ID_HERE"}'The same call in JavaScript
const response = await fetch("https://api.heyreagent.com/v1/actions/get_job_applicant", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_KEY",
"content-type": "application/json",
},
body: JSON.stringify({
"applicantId": "PASTE_APPLICANT_ID_HERE"
}),
});
const answer = await response.json();
console.log(answer);The same call in Python
import requests
response = requests.post(
"https://api.heyreagent.com/v1/actions/get_job_applicant",
headers={"Authorization": "Bearer YOUR_KEY"},
json={
"applicantId": "PASTE_APPLICANT_ID_HERE",
},
)
print(response.json())The same call in n8n
Add an HTTP Request node and fill it in like this:
| Method | POST |
| URL | https://api.heyreagent.com/v1/actions/get_job_applicant |
| Send Headers | On. Name Authorization, Value Bearer YOUR_KEY |
| Send Body | On. Body Content Type JSON, Specify Body Using JSON, then paste the body below |
{
"applicantId": "PASTE_APPLICANT_ID_HERE"
}Put your own key where it says YOUR_KEY. Put your own value where it says PASTE_…_HERE: the table above says where each one comes from. New here? Start with your first call.
What you get back
When it worked, the answer is { "ok": true, "result": { … } }. Inside result:
id | A applicant id. Other actions take it. |
profileId | string |
publicIdentifier | string |
publicProfileUrl | A profile link. Other actions take it. |
name | string |
location | string |
headline | string |
profilePictureUrl | string |
appliedAt | number |
rating | UNRATED | GOOD_FIT | MAYBE | NOT_A_FIT |
hiringState | string |
emailAddress | string |
phoneNumber | string |
contactInfo.emailAddresses | string[] |
contactInfo.phoneNumbers | string[] |
workExperience[].company | string or null |
workExperience[].companyId | string |
workExperience[].position | string or null |
workExperience[].location | string |
workExperience[].description | string |
workExperience[].pictureUrl | string |
education[].school | string or null |
education[].schoolId | string |
education[].degree | string |
education[].description | string |
education[].fieldOfStudy | string |
education[].pictureUrl | string |
screeningQuestions[].question | string |
screeningQuestions[].answers | string[] |
screeningQuestions[].success | boolean |
A field that does not apply to an answer is left out, or is null. There are 8 more fields nested inside these.
When it did not work, the answer is { "ok": false, "error": "…", "message": "…" }. What each error means.
Good to know
- Ordinary (CLASSIC) job postings only.
In Claude or ChatGPT
Once connected, ask in your own words. The assistant sees this action as a tool with the same name, get_job_applicant, and the same inputs.