Candidates
Add talent to sourcing
Link a talent to a sourcing as a candidate.
POST
/
v1
/
sourcings
/
{sourcingId}
/
candidates
Add talent to sourcing
curl --request POST \
--url https://app.kalent.ai/api/v1/sourcings/{sourcingId}/candidates \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"talentId": "<string>"
}
'import requests
url = "https://app.kalent.ai/api/v1/sourcings/{sourcingId}/candidates"
payload = { "talentId": "<string>" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({talentId: '<string>'})
};
fetch('https://app.kalent.ai/api/v1/sourcings/{sourcingId}/candidates', 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/sourcings/{sourcingId}/candidates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'talentId' => '<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/sourcings/{sourcingId}/candidates"
payload := strings.NewReader("{\n \"talentId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://app.kalent.ai/api/v1/sourcings/{sourcingId}/candidates")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"talentId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.kalent.ai/api/v1/sourcings/{sourcingId}/candidates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"talentId\": \"<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.
(talentId, sourcingId) in your workspace. Status is forced to TO_BE_CONTACTED. Existing candidates keep their userRating; new candidates use server defaults.
Path parameters
string
required
The sourcing id returned by Create sourcing.
Request body
string
required
Talent identifier to attach.
Response
Whensuccess is true, data includes candidateId, talentId, sourcingId, statusHandle, userRating, and createdAt.
Errors
| Code | HTTP |
|---|---|
validation_error | 400 |
insufficient_credits | 402 |
not_found | 404 |
internal_error | 500 |
curl -X POST https://app.kalent.ai/api/v1/sourcings/SOURCING_ID/candidates \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{"talentId":"TALENT_ID"}'
Previous
Enrich candidate contactsStart phone or email enrichment for the talent behind a candidate.
Next
⌘I
Add talent to sourcing
curl --request POST \
--url https://app.kalent.ai/api/v1/sourcings/{sourcingId}/candidates \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"talentId": "<string>"
}
'import requests
url = "https://app.kalent.ai/api/v1/sourcings/{sourcingId}/candidates"
payload = { "talentId": "<string>" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({talentId: '<string>'})
};
fetch('https://app.kalent.ai/api/v1/sourcings/{sourcingId}/candidates', 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/sourcings/{sourcingId}/candidates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'talentId' => '<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/sourcings/{sourcingId}/candidates"
payload := strings.NewReader("{\n \"talentId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://app.kalent.ai/api/v1/sourcings/{sourcingId}/candidates")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"talentId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.kalent.ai/api/v1/sourcings/{sourcingId}/candidates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"talentId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body
