curl --request POST \
--url https://api.stardex.ai/v1/candidates/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"offset": 0,
"limit": 100,
"job_ids_included": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"pipeline_stage_ids_included": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"pipeline_stage_ids_excluded": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"stage_categories_included": [],
"stage_categories_excluded": [],
"owner_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"sourced_by_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"exclude_archived_jobs": false,
"created_at_gte": "2023-11-07T05:31:56Z",
"created_at_lte": "2023-11-07T05:31:56Z",
"stage_date_gte": "2023-11-07T05:31:56Z",
"stage_date_lte": "2023-11-07T05:31:56Z",
"custom_stage_date_gte": "2023-11-07T05:31:56Z",
"custom_stage_date_lte": "2023-11-07T05:31:56Z",
"sort_by": "created_at",
"sort_order": "desc"
}
'import requests
url = "https://api.stardex.ai/v1/candidates/search"
payload = {
"offset": 0,
"limit": 100,
"job_ids_included": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"pipeline_stage_ids_included": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"pipeline_stage_ids_excluded": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"stage_categories_included": [],
"stage_categories_excluded": [],
"owner_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"sourced_by_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"exclude_archived_jobs": False,
"created_at_gte": "2023-11-07T05:31:56Z",
"created_at_lte": "2023-11-07T05:31:56Z",
"stage_date_gte": "2023-11-07T05:31:56Z",
"stage_date_lte": "2023-11-07T05:31:56Z",
"custom_stage_date_gte": "2023-11-07T05:31:56Z",
"custom_stage_date_lte": "2023-11-07T05:31:56Z",
"sort_by": "created_at",
"sort_order": "desc"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
offset: 0,
limit: 100,
job_ids_included: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
pipeline_stage_ids_included: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
pipeline_stage_ids_excluded: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
stage_categories_included: [],
stage_categories_excluded: [],
owner_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
sourced_by_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
exclude_archived_jobs: false,
created_at_gte: '2023-11-07T05:31:56Z',
created_at_lte: '2023-11-07T05:31:56Z',
stage_date_gte: '2023-11-07T05:31:56Z',
stage_date_lte: '2023-11-07T05:31:56Z',
custom_stage_date_gte: '2023-11-07T05:31:56Z',
custom_stage_date_lte: '2023-11-07T05:31:56Z',
sort_by: 'created_at',
sort_order: 'desc'
})
};
fetch('https://api.stardex.ai/v1/candidates/search', 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://api.stardex.ai/v1/candidates/search",
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([
'offset' => 0,
'limit' => 100,
'job_ids_included' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'pipeline_stage_ids_included' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'pipeline_stage_ids_excluded' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'stage_categories_included' => [
],
'stage_categories_excluded' => [
],
'owner_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'sourced_by_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'exclude_archived_jobs' => false,
'created_at_gte' => '2023-11-07T05:31:56Z',
'created_at_lte' => '2023-11-07T05:31:56Z',
'stage_date_gte' => '2023-11-07T05:31:56Z',
'stage_date_lte' => '2023-11-07T05:31:56Z',
'custom_stage_date_gte' => '2023-11-07T05:31:56Z',
'custom_stage_date_lte' => '2023-11-07T05:31:56Z',
'sort_by' => 'created_at',
'sort_order' => 'desc'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.stardex.ai/v1/candidates/search"
payload := strings.NewReader("{\n \"offset\": 0,\n \"limit\": 100,\n \"job_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_excluded\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories_included\": [],\n \"stage_categories_excluded\": [],\n \"owner_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sourced_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"exclude_archived_jobs\": false,\n \"created_at_gte\": \"2023-11-07T05:31:56Z\",\n \"created_at_lte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"sort_by\": \"created_at\",\n \"sort_order\": \"desc\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.stardex.ai/v1/candidates/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"offset\": 0,\n \"limit\": 100,\n \"job_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_excluded\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories_included\": [],\n \"stage_categories_excluded\": [],\n \"owner_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sourced_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"exclude_archived_jobs\": false,\n \"created_at_gte\": \"2023-11-07T05:31:56Z\",\n \"created_at_lte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"sort_by\": \"created_at\",\n \"sort_order\": \"desc\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/candidates/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"offset\": 0,\n \"limit\": 100,\n \"job_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_excluded\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories_included\": [],\n \"stage_categories_excluded\": [],\n \"owner_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sourced_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"exclude_archived_jobs\": false,\n \"created_at_gte\": \"2023-11-07T05:31:56Z\",\n \"created_at_lte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"sort_by\": \"created_at\",\n \"sort_order\": \"desc\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": [
{
"id": "234e5678-e90a-12b3-c456-789012345678",
"person_id": "345e6789-e01b-23c4-d567-890123456789",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Jane Smith",
"current_job_title": "Software Engineer",
"current_company_id": "456e7890-e12b-34d5-a678-901234567890",
"current_company_name": "Tech Corp",
"job_title": "Senior Backend Engineer",
"job_company_id": "789e0123-a45b-67c8-d901-234567890123",
"job_company_name": "Acme Inc",
"current_pipeline_stage_id": "567e8901-e23c-45d6-e789-012345678901",
"current_pipeline_stage_name": "Technical Interview",
"current_pipeline_stage_date": "2024-01-15T10:00:00Z",
"current_custom_stage_date": "2024-01-18T15:00:00Z",
"created_at": "2024-01-12T14:30:00Z",
"sourced_by": "678e9012-e34d-56f7-a890-123456789012",
"owner_id": "678e9012-e34d-56f7-a890-123456789012"
}
],
"meta": {
"total": 1,
"offset": 0,
"limit": 100
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Search candidates across jobs
List candidates (people on a job pipeline) across every job in the workspace, one row per candidate and job, with their current stage, stage dates, person and job.
Filters: job_ids_included, current stage (pipeline_stage_ids_included / _excluded), stage category (stage_categories_included / _excluded: interviewing, offer, placement, rejection), owner_ids, sourced_by_ids, exclude_archived_jobs, and date ranges on when the candidate was added (created_at_*), when they entered their current stage (stage_date_*) and the current stage’s Stage Date (custom_stage_date_*).
Stage Date is the date and time set on a stage by a person or the calendar; on interview stages it is usually the interview time. For upcoming interviews, pass stage_categories_included: ["interviewing"], custom_stage_date_gte set to the start of today with its timezone offset, sort_by: "custom_stage_date" and sort_order: "asc".
Sorting: sort_by is created_at (default), stage_date or custom_stage_date; sort_order is desc (default) or asc.
Pagination: offset and limit (max 100). A very broad search on a large workspace can return 504 SEARCH_TIMEOUT; add filters and retry.
There is no name or keyword filter. To find a person by name, use POST /v1/persons/search; for one person’s Stage Date, call GET /v1/candidates/{id} with the candidate_id it returns. For person-level filters (tags, custom fields, location, keywords), use POST /v1/persons/search with include: ["candidates"].
curl --request POST \
--url https://api.stardex.ai/v1/candidates/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"offset": 0,
"limit": 100,
"job_ids_included": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"pipeline_stage_ids_included": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"pipeline_stage_ids_excluded": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"stage_categories_included": [],
"stage_categories_excluded": [],
"owner_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"sourced_by_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"exclude_archived_jobs": false,
"created_at_gte": "2023-11-07T05:31:56Z",
"created_at_lte": "2023-11-07T05:31:56Z",
"stage_date_gte": "2023-11-07T05:31:56Z",
"stage_date_lte": "2023-11-07T05:31:56Z",
"custom_stage_date_gte": "2023-11-07T05:31:56Z",
"custom_stage_date_lte": "2023-11-07T05:31:56Z",
"sort_by": "created_at",
"sort_order": "desc"
}
'import requests
url = "https://api.stardex.ai/v1/candidates/search"
payload = {
"offset": 0,
"limit": 100,
"job_ids_included": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"pipeline_stage_ids_included": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"pipeline_stage_ids_excluded": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"stage_categories_included": [],
"stage_categories_excluded": [],
"owner_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"sourced_by_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"exclude_archived_jobs": False,
"created_at_gte": "2023-11-07T05:31:56Z",
"created_at_lte": "2023-11-07T05:31:56Z",
"stage_date_gte": "2023-11-07T05:31:56Z",
"stage_date_lte": "2023-11-07T05:31:56Z",
"custom_stage_date_gte": "2023-11-07T05:31:56Z",
"custom_stage_date_lte": "2023-11-07T05:31:56Z",
"sort_by": "created_at",
"sort_order": "desc"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
offset: 0,
limit: 100,
job_ids_included: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
pipeline_stage_ids_included: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
pipeline_stage_ids_excluded: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
stage_categories_included: [],
stage_categories_excluded: [],
owner_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
sourced_by_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
exclude_archived_jobs: false,
created_at_gte: '2023-11-07T05:31:56Z',
created_at_lte: '2023-11-07T05:31:56Z',
stage_date_gte: '2023-11-07T05:31:56Z',
stage_date_lte: '2023-11-07T05:31:56Z',
custom_stage_date_gte: '2023-11-07T05:31:56Z',
custom_stage_date_lte: '2023-11-07T05:31:56Z',
sort_by: 'created_at',
sort_order: 'desc'
})
};
fetch('https://api.stardex.ai/v1/candidates/search', 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://api.stardex.ai/v1/candidates/search",
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([
'offset' => 0,
'limit' => 100,
'job_ids_included' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'pipeline_stage_ids_included' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'pipeline_stage_ids_excluded' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'stage_categories_included' => [
],
'stage_categories_excluded' => [
],
'owner_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'sourced_by_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'exclude_archived_jobs' => false,
'created_at_gte' => '2023-11-07T05:31:56Z',
'created_at_lte' => '2023-11-07T05:31:56Z',
'stage_date_gte' => '2023-11-07T05:31:56Z',
'stage_date_lte' => '2023-11-07T05:31:56Z',
'custom_stage_date_gte' => '2023-11-07T05:31:56Z',
'custom_stage_date_lte' => '2023-11-07T05:31:56Z',
'sort_by' => 'created_at',
'sort_order' => 'desc'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.stardex.ai/v1/candidates/search"
payload := strings.NewReader("{\n \"offset\": 0,\n \"limit\": 100,\n \"job_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_excluded\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories_included\": [],\n \"stage_categories_excluded\": [],\n \"owner_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sourced_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"exclude_archived_jobs\": false,\n \"created_at_gte\": \"2023-11-07T05:31:56Z\",\n \"created_at_lte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"sort_by\": \"created_at\",\n \"sort_order\": \"desc\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.stardex.ai/v1/candidates/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"offset\": 0,\n \"limit\": 100,\n \"job_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_excluded\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories_included\": [],\n \"stage_categories_excluded\": [],\n \"owner_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sourced_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"exclude_archived_jobs\": false,\n \"created_at_gte\": \"2023-11-07T05:31:56Z\",\n \"created_at_lte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"sort_by\": \"created_at\",\n \"sort_order\": \"desc\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/candidates/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"offset\": 0,\n \"limit\": 100,\n \"job_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_included\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"pipeline_stage_ids_excluded\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"stage_categories_included\": [],\n \"stage_categories_excluded\": [],\n \"owner_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"sourced_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"exclude_archived_jobs\": false,\n \"created_at_gte\": \"2023-11-07T05:31:56Z\",\n \"created_at_lte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_gte\": \"2023-11-07T05:31:56Z\",\n \"custom_stage_date_lte\": \"2023-11-07T05:31:56Z\",\n \"sort_by\": \"created_at\",\n \"sort_order\": \"desc\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": [
{
"id": "234e5678-e90a-12b3-c456-789012345678",
"person_id": "345e6789-e01b-23c4-d567-890123456789",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Jane Smith",
"current_job_title": "Software Engineer",
"current_company_id": "456e7890-e12b-34d5-a678-901234567890",
"current_company_name": "Tech Corp",
"job_title": "Senior Backend Engineer",
"job_company_id": "789e0123-a45b-67c8-d901-234567890123",
"job_company_name": "Acme Inc",
"current_pipeline_stage_id": "567e8901-e23c-45d6-e789-012345678901",
"current_pipeline_stage_name": "Technical Interview",
"current_pipeline_stage_date": "2024-01-15T10:00:00Z",
"current_custom_stage_date": "2024-01-18T15:00:00Z",
"created_at": "2024-01-12T14:30:00Z",
"sourced_by": "678e9012-e34d-56f7-a890-123456789012",
"owner_id": "678e9012-e34d-56f7-a890-123456789012"
}
],
"meta": {
"total": 1,
"offset": 0,
"limit": 100
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Authorizations
Authenticate with a Bearer token: API key, OAuth token, or session token.
Body
Records to skip for pagination. Defaults to 0.
x >= 0Max records per page (1–100). Defaults to 100.
1 <= x <= 100Only candidates on these jobs (up to 100). Get IDs from POST /v1/jobs/search.
100Only candidates whose current stage is one of these pipeline stages (up to 100). Get IDs from GET /v1/jobs/pipeline-stages.
100Leave out candidates whose current stage is one of these pipeline stages (up to 100).
100Only candidates whose current stage is in any of these categories: interviewing, offer, placement, rejection. Categories are set per stage in pipeline settings.
interviewing, offer, placement, rejection Leave out candidates whose current stage is in any of these categories.
interviewing, offer, placement, rejection Only candidates owned by these team members (up to 100). Get IDs from GET /v1/team-members.
100Only candidates sourced by these team members (up to 100). Get IDs from GET /v1/team-members.
100Leave out candidates on archived jobs. Defaults to false.
Only candidates added to their job at or after this ISO 8601 date or timestamp. A date without a time means midnight UTC at the start of that day, so a date-only upper bound leaves that day out. For a day in a local timezone pass full timestamps with the offset, such as 2026-11-05T00:00:00-05:00 to 2026-11-05T23:59:59-05:00.
Only candidates added to their job at or before this ISO 8601 date or timestamp. A date without a time means midnight UTC at the start of that day, so a date-only upper bound leaves that day out. For a day in a local timezone pass full timestamps with the offset, such as 2026-11-05T00:00:00-05:00 to 2026-11-05T23:59:59-05:00.
Only candidates who entered their current stage at or after this ISO 8601 date or timestamp. Only candidates whose current stage has this date are returned. A date without a time means midnight UTC at the start of that day, so a date-only upper bound leaves that day out. For a day in a local timezone pass full timestamps with the offset, such as 2026-11-05T00:00:00-05:00 to 2026-11-05T23:59:59-05:00.
Only candidates who entered their current stage at or before this ISO 8601 date or timestamp. Only candidates whose current stage has this date are returned. A date without a time means midnight UTC at the start of that day, so a date-only upper bound leaves that day out. For a day in a local timezone pass full timestamps with the offset, such as 2026-11-05T00:00:00-05:00 to 2026-11-05T23:59:59-05:00.
Only candidates whose current stage has a Stage Date (on interview stages, usually the interview time) at or after this ISO 8601 date or timestamp. Only candidates whose current stage has this date are returned. A date without a time means midnight UTC at the start of that day, so a date-only upper bound leaves that day out. For a day in a local timezone pass full timestamps with the offset, such as 2026-11-05T00:00:00-05:00 to 2026-11-05T23:59:59-05:00.
Only candidates whose current stage has a Stage Date at or before this ISO 8601 date or timestamp. Only candidates whose current stage has this date are returned. A date without a time means midnight UTC at the start of that day, so a date-only upper bound leaves that day out. For a day in a local timezone pass full timestamps with the offset, such as 2026-11-05T00:00:00-05:00 to 2026-11-05T23:59:59-05:00.
created_at (default): when the candidate was added to the job. stage_date: when they entered their current stage. custom_stage_date: the Stage Date of their current stage, leaving out candidates without one. Sorting by stage_date leaves out the few candidates with no recorded stage history; with no stage date filter, meta.total still counts them.
created_at, stage_date, custom_stage_date Sort direction. Defaults to desc.
asc, desc Was this page helpful?