curl --request POST \
--url https://api.stardex.ai/v1/scorecards/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"offset": 0,
"limit": 100,
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"candidate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"is_starred": true,
"sort_by": "created_at",
"sort_order": "desc"
}
'import requests
url = "https://api.stardex.ai/v1/scorecards/search"
payload = {
"offset": 0,
"limit": 100,
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"candidate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"is_starred": True,
"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,
person_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
job_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
candidate_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
template_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
created_by_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
is_starred: true,
sort_by: 'created_at',
sort_order: 'desc'
})
};
fetch('https://api.stardex.ai/v1/scorecards/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/scorecards/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,
'person_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'job_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'candidate_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'template_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'created_by_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'is_starred' => true,
'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/scorecards/search"
payload := strings.NewReader("{\n \"offset\": 0,\n \"limit\": 100,\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"candidate_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"created_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"is_starred\": true,\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/scorecards/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"offset\": 0,\n \"limit\": 100,\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"candidate_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"created_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"is_starred\": true,\n \"sort_by\": \"created_at\",\n \"sort_order\": \"desc\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/scorecards/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 \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"candidate_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"created_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"is_starred\": true,\n \"sort_by\": \"created_at\",\n \"sort_order\": \"desc\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": [
{
"id": "ddddeeee-1111-2222-3333-444444444444",
"person_id": "123e4567-e89b-12d3-a456-426614174000",
"job_id": "456e7890-e12b-34d5-a678-901234567890",
"candidate_id": "eeeeffff-1111-2222-3333-444444444444",
"assessment_template_id": "aaaa1111-2222-3333-4444-555555555555",
"template": {
"id": "aaaa1111-2222-3333-4444-555555555555",
"name": "Senior Backend Engineer Scorecard",
"rating_scale": 5
},
"job": {
"id": "456e7890-e12b-34d5-a678-901234567890",
"title": "Senior Backend Engineer",
"company_name": "Acme Inc."
},
"created_by": {
"id": "567e8901-e23c-45d6-e789-012345678901",
"first_name": "Jane",
"last_name": "Smith"
},
"overall_rating": 4.5,
"overall_comment": "Strong systems-design depth and excellent async collaboration. Recommend moving forward.",
"is_starred": true,
"visible_in_client_share_link": false,
"criterion_ratings": [
{
"id": "cc11aa22-3333-4444-5555-666666666666",
"criterion_id": "bbbb1111-2222-3333-4444-555555555555",
"criterion_name": "System design depth",
"importance": "must_have",
"position": 1,
"rating": 5,
"comment": "Designed a multi-region payments service with clear failure-mode reasoning."
},
{
"id": "cc11aa22-3333-4444-5555-777777777777",
"criterion_id": "cccc1111-2222-3333-4444-555555555555",
"criterion_name": "Async collaboration",
"importance": "nice_to_have",
"position": 2,
"rating": 4,
"comment": "Strong written communication; decision log was thorough."
}
],
"created_at": "2026-06-01T10:00:00Z",
"updated_at": "2026-06-01T10:00:00Z"
}
],
"meta": {
"total": 1,
"offset": 0,
"limit": 100
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}Search scorecards
Search and filter scorecards (candidate evaluations) with pagination and sorting.
Filters: person_id, job_id, candidate_id, template_id, created_by_ids, is_starred.
Sorting: sort_by — created_at (default), updated_at, or overall_rating. sort_order — asc or desc (default).
Pagination: offset and limit (max 100).
curl --request POST \
--url https://api.stardex.ai/v1/scorecards/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"offset": 0,
"limit": 100,
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"candidate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"is_starred": true,
"sort_by": "created_at",
"sort_order": "desc"
}
'import requests
url = "https://api.stardex.ai/v1/scorecards/search"
payload = {
"offset": 0,
"limit": 100,
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"candidate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"is_starred": True,
"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,
person_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
job_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
candidate_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
template_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
created_by_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
is_starred: true,
sort_by: 'created_at',
sort_order: 'desc'
})
};
fetch('https://api.stardex.ai/v1/scorecards/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/scorecards/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,
'person_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'job_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'candidate_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'template_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'created_by_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'is_starred' => true,
'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/scorecards/search"
payload := strings.NewReader("{\n \"offset\": 0,\n \"limit\": 100,\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"candidate_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"created_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"is_starred\": true,\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/scorecards/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"offset\": 0,\n \"limit\": 100,\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"candidate_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"created_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"is_starred\": true,\n \"sort_by\": \"created_at\",\n \"sort_order\": \"desc\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stardex.ai/v1/scorecards/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 \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"candidate_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"created_by_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"is_starred\": true,\n \"sort_by\": \"created_at\",\n \"sort_order\": \"desc\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": [
{
"id": "ddddeeee-1111-2222-3333-444444444444",
"person_id": "123e4567-e89b-12d3-a456-426614174000",
"job_id": "456e7890-e12b-34d5-a678-901234567890",
"candidate_id": "eeeeffff-1111-2222-3333-444444444444",
"assessment_template_id": "aaaa1111-2222-3333-4444-555555555555",
"template": {
"id": "aaaa1111-2222-3333-4444-555555555555",
"name": "Senior Backend Engineer Scorecard",
"rating_scale": 5
},
"job": {
"id": "456e7890-e12b-34d5-a678-901234567890",
"title": "Senior Backend Engineer",
"company_name": "Acme Inc."
},
"created_by": {
"id": "567e8901-e23c-45d6-e789-012345678901",
"first_name": "Jane",
"last_name": "Smith"
},
"overall_rating": 4.5,
"overall_comment": "Strong systems-design depth and excellent async collaboration. Recommend moving forward.",
"is_starred": true,
"visible_in_client_share_link": false,
"criterion_ratings": [
{
"id": "cc11aa22-3333-4444-5555-666666666666",
"criterion_id": "bbbb1111-2222-3333-4444-555555555555",
"criterion_name": "System design depth",
"importance": "must_have",
"position": 1,
"rating": 5,
"comment": "Designed a multi-region payments service with clear failure-mode reasoning."
},
{
"id": "cc11aa22-3333-4444-5555-777777777777",
"criterion_id": "cccc1111-2222-3333-4444-555555555555",
"criterion_name": "Async collaboration",
"importance": "nice_to_have",
"position": 2,
"rating": 4,
"comment": "Strong written communication; decision log was thorough."
}
],
"created_at": "2026-06-01T10:00:00Z",
"updated_at": "2026-06-01T10:00:00Z"
}
],
"meta": {
"total": 1,
"offset": 0,
"limit": 100
}
}{
"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
Records to skip for pagination. Defaults to 0.
x >= 0Max records per page (1–100). Defaults to 100.
1 <= x <= 100Return only scorecards for this person UUID.
Return only scorecards scoped to this job UUID.
Return only scorecards for this candidate UUID.
Return only scorecards created from this template UUID.
Filter by creator team member UUIDs. Get IDs from GET /v1/team-members.
Filter by starred status.
Column to sort by. One of: created_at (default), updated_at, overall_rating.
created_at, updated_at, overall_rating Sort direction. Defaults to desc.
asc, desc Was this page helpful?