Get the Team Capacity report
curl --request GET \
--url https://api.stardex.ai/v1/team-capacity \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.stardex.ai/v1/team-capacity"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.stardex.ai/v1/team-capacity', 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/team-capacity",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.stardex.ai/v1/team-capacity"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.stardex.ai/v1/team-capacity")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/team-capacity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"generated_at": "2026-10-13T15:30:00.000Z",
"quarter_start": "2026-10-01T00:00:00.000Z",
"year_start": "2026-01-01T00:00:00.000Z",
"is_configured": true,
"settings": {
"show_search_stage": true,
"stage_config": {
"stage_1_name": "New",
"stage_1_max_weeks": 2,
"stage_2_name": "Active",
"stage_2_max_weeks": 4,
"stage_3_name": "Ongoing"
},
"show_load_score": true,
"role_weights": [
{
"role_name": "Lead Recruiter",
"weight": 75
},
{
"role_name": "Sourcer",
"weight": 25
}
],
"enable_active_search_color_coding": true,
"active_search_color_thresholds": {
"moderate_min": 5,
"heavy_min": 8
},
"job_status_filter": [
"Active",
"On Hold"
],
"role_filter": [],
"sort": {
"column": "total_searches",
"direction": "desc"
}
},
"summary": {
"member_count": 2,
"active_search_count": 6,
"team_avg_load_score": 312.5
},
"available_roles": [
{
"name": "Lead Recruiter",
"is_owner_role": true
},
{
"name": "Sourcer",
"is_owner_role": false
}
],
"available_job_statuses": [
{
"name": "Active",
"color": "#22c55e",
"status_type": "in_progress"
},
{
"name": "On Hold",
"color": "#f59e0b",
"status_type": "in_progress"
},
{
"name": "Placed",
"color": "#6366f1",
"status_type": "closed_won"
}
],
"members": [
{
"team_member_id": "234e5678-e90a-12b3-c456-789012345678",
"first_name": "Jane",
"last_name": "Smith",
"title": "Partner",
"image_url": "https://img.clerk.com/jane-smith.png",
"total_searches": 5,
"workload_tier": "moderate",
"stage_breakdown": {
"stage_1": 1,
"stage_2": 2,
"stage_3": 2
},
"role_breakdown": [
{
"role_name": "Lead Recruiter",
"active_searches": 4
},
{
"role_name": "Sourcer",
"active_searches": 2
}
],
"load_score": 350,
"kicked_off_this_quarter": 2,
"closed_this_quarter": 1,
"avg_days_out": 34.6,
"avg_days_left": 41.2,
"ytd_avg_fill_days": 96.5,
"active_searches": [
{
"job_id": "345e6789-e01b-23c4-d567-890123456789",
"title": "Senior Software Engineer",
"company_name": "Acme Corp",
"company_domain": "acme.com",
"open_date": "2026-10-06",
"end_date": "2026-12-15",
"role_names": [
"Lead Recruiter",
"Sourcer"
]
}
]
},
{
"team_member_id": "456e7890-e12b-34c5-d678-901234567890",
"first_name": "Alex",
"last_name": "Chen",
"title": "Associate",
"image_url": null,
"total_searches": 1,
"workload_tier": "light",
"stage_breakdown": {
"stage_1": 0,
"stage_2": 0,
"stage_3": 1
},
"role_breakdown": [
{
"role_name": "Lead Recruiter",
"active_searches": 1
}
],
"load_score": 75,
"kicked_off_this_quarter": 0,
"closed_this_quarter": 0,
"avg_days_out": 88,
"avg_days_left": -3,
"ytd_avg_fill_days": null,
"active_searches": [
{
"job_id": "567e8901-e23c-45d6-e789-012345678901",
"title": "Chief Financial Officer",
"company_name": "Globex",
"company_domain": "globex.com",
"open_date": "2026-07-17",
"end_date": "2026-10-10",
"role_names": [
"Lead Recruiter"
]
}
]
}
]
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}Team Capacity
Get the Team Capacity report
Returns the Team Capacity board: one row per active team member with their active searches, stage breakdown, role breakdown, load score, workload tier, and quarter and year-to-date metrics.
The report applies the team’s saved board settings (job status filter, role filter, stage thresholds, role weights, workload thresholds, and sort), and returns those settings with it. Change them with PATCH /v1/team-capacity/settings.
Quarter and year boundaries are calendar quarters and years in UTC.
API keys need the reports:read scope.
GET
/
v1
/
team-capacity
Get the Team Capacity report
curl --request GET \
--url https://api.stardex.ai/v1/team-capacity \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.stardex.ai/v1/team-capacity"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.stardex.ai/v1/team-capacity', 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/team-capacity",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.stardex.ai/v1/team-capacity"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.stardex.ai/v1/team-capacity")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/team-capacity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"generated_at": "2026-10-13T15:30:00.000Z",
"quarter_start": "2026-10-01T00:00:00.000Z",
"year_start": "2026-01-01T00:00:00.000Z",
"is_configured": true,
"settings": {
"show_search_stage": true,
"stage_config": {
"stage_1_name": "New",
"stage_1_max_weeks": 2,
"stage_2_name": "Active",
"stage_2_max_weeks": 4,
"stage_3_name": "Ongoing"
},
"show_load_score": true,
"role_weights": [
{
"role_name": "Lead Recruiter",
"weight": 75
},
{
"role_name": "Sourcer",
"weight": 25
}
],
"enable_active_search_color_coding": true,
"active_search_color_thresholds": {
"moderate_min": 5,
"heavy_min": 8
},
"job_status_filter": [
"Active",
"On Hold"
],
"role_filter": [],
"sort": {
"column": "total_searches",
"direction": "desc"
}
},
"summary": {
"member_count": 2,
"active_search_count": 6,
"team_avg_load_score": 312.5
},
"available_roles": [
{
"name": "Lead Recruiter",
"is_owner_role": true
},
{
"name": "Sourcer",
"is_owner_role": false
}
],
"available_job_statuses": [
{
"name": "Active",
"color": "#22c55e",
"status_type": "in_progress"
},
{
"name": "On Hold",
"color": "#f59e0b",
"status_type": "in_progress"
},
{
"name": "Placed",
"color": "#6366f1",
"status_type": "closed_won"
}
],
"members": [
{
"team_member_id": "234e5678-e90a-12b3-c456-789012345678",
"first_name": "Jane",
"last_name": "Smith",
"title": "Partner",
"image_url": "https://img.clerk.com/jane-smith.png",
"total_searches": 5,
"workload_tier": "moderate",
"stage_breakdown": {
"stage_1": 1,
"stage_2": 2,
"stage_3": 2
},
"role_breakdown": [
{
"role_name": "Lead Recruiter",
"active_searches": 4
},
{
"role_name": "Sourcer",
"active_searches": 2
}
],
"load_score": 350,
"kicked_off_this_quarter": 2,
"closed_this_quarter": 1,
"avg_days_out": 34.6,
"avg_days_left": 41.2,
"ytd_avg_fill_days": 96.5,
"active_searches": [
{
"job_id": "345e6789-e01b-23c4-d567-890123456789",
"title": "Senior Software Engineer",
"company_name": "Acme Corp",
"company_domain": "acme.com",
"open_date": "2026-10-06",
"end_date": "2026-12-15",
"role_names": [
"Lead Recruiter",
"Sourcer"
]
}
]
},
{
"team_member_id": "456e7890-e12b-34c5-d678-901234567890",
"first_name": "Alex",
"last_name": "Chen",
"title": "Associate",
"image_url": null,
"total_searches": 1,
"workload_tier": "light",
"stage_breakdown": {
"stage_1": 0,
"stage_2": 0,
"stage_3": 1
},
"role_breakdown": [
{
"role_name": "Lead Recruiter",
"active_searches": 1
}
],
"load_score": 75,
"kicked_off_this_quarter": 0,
"closed_this_quarter": 0,
"avg_days_out": 88,
"avg_days_left": -3,
"ytd_avg_fill_days": null,
"active_searches": [
{
"job_id": "567e8901-e23c-45d6-e789-012345678901",
"title": "Chief Financial Officer",
"company_name": "Globex",
"company_domain": "globex.com",
"open_date": "2026-07-17",
"end_date": "2026-10-10",
"role_names": [
"Lead Recruiter"
]
}
]
}
]
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}Was this page helpful?