curl --request PATCH \
--url https://api.stardex.ai/v1/team-capacity/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"show_search_stage": true,
"stage_config": {
"stage_1_name": "<string>",
"stage_1_max_weeks": 26,
"stage_2_name": "<string>",
"stage_2_max_weeks": 27,
"stage_3_name": "<string>"
},
"show_load_score": true,
"role_weights": [
{
"role_name": "<string>",
"weight": 499
}
],
"enable_active_search_color_coding": true,
"active_search_color_thresholds": {
"moderate_min": 499,
"heavy_min": 500
},
"job_status_filter": [
"<string>"
],
"role_filter": [
"<string>"
]
}
'import requests
url = "https://api.stardex.ai/v1/team-capacity/settings"
payload = {
"show_search_stage": True,
"stage_config": {
"stage_1_name": "<string>",
"stage_1_max_weeks": 26,
"stage_2_name": "<string>",
"stage_2_max_weeks": 27,
"stage_3_name": "<string>"
},
"show_load_score": True,
"role_weights": [
{
"role_name": "<string>",
"weight": 499
}
],
"enable_active_search_color_coding": True,
"active_search_color_thresholds": {
"moderate_min": 499,
"heavy_min": 500
},
"job_status_filter": ["<string>"],
"role_filter": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
show_search_stage: true,
stage_config: {
stage_1_name: '<string>',
stage_1_max_weeks: 26,
stage_2_name: '<string>',
stage_2_max_weeks: 27,
stage_3_name: '<string>'
},
show_load_score: true,
role_weights: [{role_name: '<string>', weight: 499}],
enable_active_search_color_coding: true,
active_search_color_thresholds: {moderate_min: 499, heavy_min: 500},
job_status_filter: ['<string>'],
role_filter: ['<string>']
})
};
fetch('https://api.stardex.ai/v1/team-capacity/settings', 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/settings",
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([
'show_search_stage' => true,
'stage_config' => [
'stage_1_name' => '<string>',
'stage_1_max_weeks' => 26,
'stage_2_name' => '<string>',
'stage_2_max_weeks' => 27,
'stage_3_name' => '<string>'
],
'show_load_score' => true,
'role_weights' => [
[
'role_name' => '<string>',
'weight' => 499
]
],
'enable_active_search_color_coding' => true,
'active_search_color_thresholds' => [
'moderate_min' => 499,
'heavy_min' => 500
],
'job_status_filter' => [
'<string>'
],
'role_filter' => [
'<string>'
]
]),
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/team-capacity/settings"
payload := strings.NewReader("{\n \"show_search_stage\": true,\n \"stage_config\": {\n \"stage_1_name\": \"<string>\",\n \"stage_1_max_weeks\": 26,\n \"stage_2_name\": \"<string>\",\n \"stage_2_max_weeks\": 27,\n \"stage_3_name\": \"<string>\"\n },\n \"show_load_score\": true,\n \"role_weights\": [\n {\n \"role_name\": \"<string>\",\n \"weight\": 499\n }\n ],\n \"enable_active_search_color_coding\": true,\n \"active_search_color_thresholds\": {\n \"moderate_min\": 499,\n \"heavy_min\": 500\n },\n \"job_status_filter\": [\n \"<string>\"\n ],\n \"role_filter\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.stardex.ai/v1/team-capacity/settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"show_search_stage\": true,\n \"stage_config\": {\n \"stage_1_name\": \"<string>\",\n \"stage_1_max_weeks\": 26,\n \"stage_2_name\": \"<string>\",\n \"stage_2_max_weeks\": 27,\n \"stage_3_name\": \"<string>\"\n },\n \"show_load_score\": true,\n \"role_weights\": [\n {\n \"role_name\": \"<string>\",\n \"weight\": 499\n }\n ],\n \"enable_active_search_color_coding\": true,\n \"active_search_color_thresholds\": {\n \"moderate_min\": 499,\n \"heavy_min\": 500\n },\n \"job_status_filter\": [\n \"<string>\"\n ],\n \"role_filter\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/team-capacity/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"show_search_stage\": true,\n \"stage_config\": {\n \"stage_1_name\": \"<string>\",\n \"stage_1_max_weeks\": 26,\n \"stage_2_name\": \"<string>\",\n \"stage_2_max_weeks\": 27,\n \"stage_3_name\": \"<string>\"\n },\n \"show_load_score\": true,\n \"role_weights\": [\n {\n \"role_name\": \"<string>\",\n \"weight\": 499\n }\n ],\n \"enable_active_search_color_coding\": true,\n \"active_search_color_thresholds\": {\n \"moderate_min\": 499,\n \"heavy_min\": 500\n },\n \"job_status_filter\": [\n \"<string>\"\n ],\n \"role_filter\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"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"
}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}Update Team Capacity settings
Updates the shared Team Capacity board settings for the whole team. Send only the settings you want to change: nested objects merge field by field, role_weights entries update one role each, and the filter arrays replace the current value.
Job status and role names must match available_job_statuses and the team’s job team roles (see available_roles on GET /v1/team-capacity).
Returns the saved settings. Roles without a saved weight are left out; GET /v1/team-capacity shows the default weight it applies to them.
Only organization admins can update these settings. API keys need the reports:write scope.
curl --request PATCH \
--url https://api.stardex.ai/v1/team-capacity/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"show_search_stage": true,
"stage_config": {
"stage_1_name": "<string>",
"stage_1_max_weeks": 26,
"stage_2_name": "<string>",
"stage_2_max_weeks": 27,
"stage_3_name": "<string>"
},
"show_load_score": true,
"role_weights": [
{
"role_name": "<string>",
"weight": 499
}
],
"enable_active_search_color_coding": true,
"active_search_color_thresholds": {
"moderate_min": 499,
"heavy_min": 500
},
"job_status_filter": [
"<string>"
],
"role_filter": [
"<string>"
]
}
'import requests
url = "https://api.stardex.ai/v1/team-capacity/settings"
payload = {
"show_search_stage": True,
"stage_config": {
"stage_1_name": "<string>",
"stage_1_max_weeks": 26,
"stage_2_name": "<string>",
"stage_2_max_weeks": 27,
"stage_3_name": "<string>"
},
"show_load_score": True,
"role_weights": [
{
"role_name": "<string>",
"weight": 499
}
],
"enable_active_search_color_coding": True,
"active_search_color_thresholds": {
"moderate_min": 499,
"heavy_min": 500
},
"job_status_filter": ["<string>"],
"role_filter": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
show_search_stage: true,
stage_config: {
stage_1_name: '<string>',
stage_1_max_weeks: 26,
stage_2_name: '<string>',
stage_2_max_weeks: 27,
stage_3_name: '<string>'
},
show_load_score: true,
role_weights: [{role_name: '<string>', weight: 499}],
enable_active_search_color_coding: true,
active_search_color_thresholds: {moderate_min: 499, heavy_min: 500},
job_status_filter: ['<string>'],
role_filter: ['<string>']
})
};
fetch('https://api.stardex.ai/v1/team-capacity/settings', 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/settings",
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([
'show_search_stage' => true,
'stage_config' => [
'stage_1_name' => '<string>',
'stage_1_max_weeks' => 26,
'stage_2_name' => '<string>',
'stage_2_max_weeks' => 27,
'stage_3_name' => '<string>'
],
'show_load_score' => true,
'role_weights' => [
[
'role_name' => '<string>',
'weight' => 499
]
],
'enable_active_search_color_coding' => true,
'active_search_color_thresholds' => [
'moderate_min' => 499,
'heavy_min' => 500
],
'job_status_filter' => [
'<string>'
],
'role_filter' => [
'<string>'
]
]),
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/team-capacity/settings"
payload := strings.NewReader("{\n \"show_search_stage\": true,\n \"stage_config\": {\n \"stage_1_name\": \"<string>\",\n \"stage_1_max_weeks\": 26,\n \"stage_2_name\": \"<string>\",\n \"stage_2_max_weeks\": 27,\n \"stage_3_name\": \"<string>\"\n },\n \"show_load_score\": true,\n \"role_weights\": [\n {\n \"role_name\": \"<string>\",\n \"weight\": 499\n }\n ],\n \"enable_active_search_color_coding\": true,\n \"active_search_color_thresholds\": {\n \"moderate_min\": 499,\n \"heavy_min\": 500\n },\n \"job_status_filter\": [\n \"<string>\"\n ],\n \"role_filter\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.stardex.ai/v1/team-capacity/settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"show_search_stage\": true,\n \"stage_config\": {\n \"stage_1_name\": \"<string>\",\n \"stage_1_max_weeks\": 26,\n \"stage_2_name\": \"<string>\",\n \"stage_2_max_weeks\": 27,\n \"stage_3_name\": \"<string>\"\n },\n \"show_load_score\": true,\n \"role_weights\": [\n {\n \"role_name\": \"<string>\",\n \"weight\": 499\n }\n ],\n \"enable_active_search_color_coding\": true,\n \"active_search_color_thresholds\": {\n \"moderate_min\": 499,\n \"heavy_min\": 500\n },\n \"job_status_filter\": [\n \"<string>\"\n ],\n \"role_filter\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/team-capacity/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"show_search_stage\": true,\n \"stage_config\": {\n \"stage_1_name\": \"<string>\",\n \"stage_1_max_weeks\": 26,\n \"stage_2_name\": \"<string>\",\n \"stage_2_max_weeks\": 27,\n \"stage_3_name\": \"<string>\"\n },\n \"show_load_score\": true,\n \"role_weights\": [\n {\n \"role_name\": \"<string>\",\n \"weight\": 499\n }\n ],\n \"enable_active_search_color_coding\": true,\n \"active_search_color_thresholds\": {\n \"moderate_min\": 499,\n \"heavy_min\": 500\n },\n \"job_status_filter\": [\n \"<string>\"\n ],\n \"role_filter\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"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"
}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Authenticate with a Bearer token: API key, OAuth token, or session token.
Body
Show or hide the search stage columns.
Stage names and week limits. Fields you leave out keep their current value. stage_2_max_weeks must stay greater than stage_1_max_weeks.
Show child attributes
Show child attributes
Show or hide the load score column.
Role weights to change. Roles you leave out keep their current weight.
100Show child attributes
Show child attributes
Turn workload color coding on member names on or off.
Workload thresholds. Fields you leave out keep their current value. heavy_min must stay greater than moderate_min.
Show child attributes
Show child attributes
Replaces the job status filter. Names must match available_job_statuses. Pass an empty array to include every status.
1001 - 120Replaces the role filter. Names must match the team’s job team roles. Pass an empty array to include every role.
1001 - 120Default sort for the board.
Show child attributes
Show child attributes
Was this page helpful?