Candidates
Update candidate status
Change the status of a candidate in a sourcing.
PATCH
/
v1
/
candidates
/
{candidateId}
/
status
Update candidate status
curl --request PATCH \
--url https://app.kalent.ai/api/v1/candidates/{candidateId}/status \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"statusHandle": "<string>"
}
'import requests
url = "https://app.kalent.ai/api/v1/candidates/{candidateId}/status"
payload = { "statusHandle": "<string>" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({statusHandle: '<string>'})
};
fetch('https://app.kalent.ai/api/v1/candidates/{candidateId}/status', 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://app.kalent.ai/api/v1/candidates/{candidateId}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'statusHandle' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.kalent.ai/api/v1/candidates/{candidateId}/status"
payload := strings.NewReader("{\n \"statusHandle\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://app.kalent.ai/api/v1/candidates/{candidateId}/status")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"statusHandle\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.kalent.ai/api/v1/candidates/{candidateId}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"statusHandle\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyFirst time? Set up Authentication
Learn how to authenticate your API requests with your API key.
statusHandle must be a global status (TO_BE_CONTACTED, CONTACTED, NOT_RETAINED, OUTREACH_SEQUENCE_STARTED) or a custom status defined in your workspace. Setting the status to NOT_RETAINED removes the candidate from the active pipeline and cancels any active outreach tasks.
Path parameters
string
required
The candidate id (from Get candidates or Add talent to sourcing).
Request body
string
required
The target status handle.
Response
Whensuccess is true, data includes candidateId, talentId, sourcingId, statusHandle, and updatedAt.
Errors
| Code | HTTP |
|---|---|
validation_error | 400 |
not_found | 404 |
method_not_allowed | 405 |
internal_error | 500 |
curl -X PATCH https://app.kalent.ai/api/v1/candidates/CANDIDATE_ID/status \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{"statusHandle":"CONTACTED"}'
⌘I
Update candidate status
curl --request PATCH \
--url https://app.kalent.ai/api/v1/candidates/{candidateId}/status \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"statusHandle": "<string>"
}
'import requests
url = "https://app.kalent.ai/api/v1/candidates/{candidateId}/status"
payload = { "statusHandle": "<string>" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({statusHandle: '<string>'})
};
fetch('https://app.kalent.ai/api/v1/candidates/{candidateId}/status', 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://app.kalent.ai/api/v1/candidates/{candidateId}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'statusHandle' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.kalent.ai/api/v1/candidates/{candidateId}/status"
payload := strings.NewReader("{\n \"statusHandle\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://app.kalent.ai/api/v1/candidates/{candidateId}/status")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"statusHandle\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.kalent.ai/api/v1/candidates/{candidateId}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"statusHandle\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body
