curl --location --request PATCH 'https://api.hirempire.com/v1/update-candidate' \
--header 'Authorization: Bearer sk-••••••••••••' \
--header 'Content-Type: application/json' \
--data-raw '{
"candidate_id": "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status": "rejected"
}'
const response = await fetch('https://api.hirempire.com/v1/update-candidate', {
method: 'PATCH',
headers: {
'Authorization': 'Bearer sk-••••••••••••',
'Content-Type': 'application/json'
},
body: JSON.stringify({
candidate_id: "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
status: "rejected"
})
});
const data = await response.json();
console.log(data);
import requests
url = "https://api.hirempire.com/v1/update-candidate"
headers = {
"Authorization": "Bearer sk-••••••••••••",
"Content-Type": "application/json"
}
payload = {
"candidate_id": "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status": "rejected"
}
response = requests.patch(url, headers=headers, json=payload)
print(response.json())
<?php
$curl = curl_init();
$payload = json_encode([
"candidate_id" => "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status" => "rejected"
]);
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.hirempire.com/v1/update-candidate',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_POSTFIELDS => $payload,
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer sk-••••••••••••',
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
print_r(json_decode($response, true));
?>
{
"success": true,
"id": "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status": "rejected"
}
Candidates
Update candidate
Update a candidate — partial update, send only the fields you want to change
PATCH
/
v1
/
update-candidate
curl --location --request PATCH 'https://api.hirempire.com/v1/update-candidate' \
--header 'Authorization: Bearer sk-••••••••••••' \
--header 'Content-Type: application/json' \
--data-raw '{
"candidate_id": "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status": "rejected"
}'
const response = await fetch('https://api.hirempire.com/v1/update-candidate', {
method: 'PATCH',
headers: {
'Authorization': 'Bearer sk-••••••••••••',
'Content-Type': 'application/json'
},
body: JSON.stringify({
candidate_id: "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
status: "rejected"
})
});
const data = await response.json();
console.log(data);
import requests
url = "https://api.hirempire.com/v1/update-candidate"
headers = {
"Authorization": "Bearer sk-••••••••••••",
"Content-Type": "application/json"
}
payload = {
"candidate_id": "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status": "rejected"
}
response = requests.patch(url, headers=headers, json=payload)
print(response.json())
<?php
$curl = curl_init();
$payload = json_encode([
"candidate_id" => "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status" => "rejected"
]);
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.hirempire.com/v1/update-candidate',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_POSTFIELDS => $payload,
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer sk-••••••••••••',
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
print_r(json_decode($response, true));
?>
{
"success": true,
"id": "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status": "rejected"
}
Send only the fields you want to change. All fields except
candidate_id are optional.
Authentication
string
required
Bearer authentication header of the form
Bearer <token>, where <token> is your API token.Request Body
string
required
The candidate to update.
string
New pipeline status. One of:
applied screening phone_screen interview technical offer hired rejected withdrawn on_hold shortlisted qualified uploaded.string[]
Array of free-form tags. Replaces the existing tag list.
string
Talent-pool stage. One of:
cold warm hot not_interested. Pass null to clear.string
Recruiter note attached to the candidate (used in follow-up emails). Pass
null to clear.At least one field beyond
candidate_id must be provided. Otherwise the response is 400 At least one updatable field must be provided.curl --location --request PATCH 'https://api.hirempire.com/v1/update-candidate' \
--header 'Authorization: Bearer sk-••••••••••••' \
--header 'Content-Type: application/json' \
--data-raw '{
"candidate_id": "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status": "rejected"
}'
const response = await fetch('https://api.hirempire.com/v1/update-candidate', {
method: 'PATCH',
headers: {
'Authorization': 'Bearer sk-••••••••••••',
'Content-Type': 'application/json'
},
body: JSON.stringify({
candidate_id: "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
status: "rejected"
})
});
const data = await response.json();
console.log(data);
import requests
url = "https://api.hirempire.com/v1/update-candidate"
headers = {
"Authorization": "Bearer sk-••••••••••••",
"Content-Type": "application/json"
}
payload = {
"candidate_id": "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status": "rejected"
}
response = requests.patch(url, headers=headers, json=payload)
print(response.json())
<?php
$curl = curl_init();
$payload = json_encode([
"candidate_id" => "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status" => "rejected"
]);
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.hirempire.com/v1/update-candidate',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_POSTFIELDS => $payload,
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer sk-••••••••••••',
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
print_r(json_decode($response, true));
?>
Response
boolean
Indicates if the candidate status was updated successfully
string
The unique identifier of the updated candidate
string
The new pipeline status of the candidate
{
"success": true,
"id": "8fc4ea3c-ecc4-4a92-96fd-a14436a79a1b",
"status": "rejected"
}
Error Responses
400 Bad Request
{
"success": false,
"error": "candidate_id is required and must be a UUID"
}
{
"success": false,
"error": "status is required"
}
{
"success": false,
"error": "status must be one of: applied, screening, phone_screen, interview, technical, offer, hired, rejected, withdrawn, on_hold, shortlisted, qualified, uploaded"
}
401 Unauthorized
{
"success": false,
"error": "Invalid token"
}
{
"success": false,
"error": "Invalid candidate id"
}
Was this page helpful?