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

InputWhat it isWhere to get it
applicantId
needed
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
connectionId
optional
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:

MethodPOST
URLhttps://api.heyreagent.com/v1/actions/get_job_applicant
Send HeadersOn. Name Authorization, Value Bearer YOUR_KEY
Send BodyOn. 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:

idA applicant id. Other actions take it.
profileIdstring
publicIdentifierstring
publicProfileUrlA profile link. Other actions take it.
namestring
locationstring
headlinestring
profilePictureUrlstring
appliedAtnumber
ratingUNRATED | GOOD_FIT | MAYBE | NOT_A_FIT
hiringStatestring
emailAddressstring
phoneNumberstring
contactInfo.emailAddressesstring[]
contactInfo.phoneNumbersstring[]
workExperience[].companystring or null
workExperience[].companyIdstring
workExperience[].positionstring or null
workExperience[].locationstring
workExperience[].descriptionstring
workExperience[].pictureUrlstring
education[].schoolstring or null
education[].schoolIdstring
education[].degreestring
education[].descriptionstring
education[].fieldOfStudystring
education[].pictureUrlstring
screeningQuestions[].questionstring
screeningQuestions[].answersstring[]
screeningQuestions[].successboolean

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

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.