List Judges
curl --request GET \
--url https://api.getpique.ai/v1/judges \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getpique.ai/v1/judges"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getpique.ai/v1/judges', 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.getpique.ai/v1/judges",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.getpique.ai/v1/judges"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.getpique.ai/v1/judges")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getpique.ai/v1/judges")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"judges": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"content_type": "<string>",
"status": "<string>",
"detector_configs": [
{
"id": "<string>",
"detector_name": "<string>",
"config": {},
"weight": 123
}
],
"is_active": true,
"created_at": "<string>",
"updated_at": "<string>"
}
],
"total": 123,
"has_more": true
}Judges
List Judges
List all judges for your organization
List Judges
curl --request GET \
--url https://api.getpique.ai/v1/judges \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getpique.ai/v1/judges"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getpique.ai/v1/judges', 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.getpique.ai/v1/judges",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.getpique.ai/v1/judges"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.getpique.ai/v1/judges")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getpique.ai/v1/judges")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"judges": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"content_type": "<string>",
"status": "<string>",
"detector_configs": [
{
"id": "<string>",
"detector_name": "<string>",
"config": {},
"weight": 123
}
],
"is_active": true,
"created_at": "<string>",
"updated_at": "<string>"
}
],
"total": 123,
"has_more": true
}Authentication
Required: API Key authentication viaX-API-Key header
Overview
Returns a paginated list of all judges belonging to your organization. Judges are sorted by creation date (newest first).Query Parameters
Maximum number of judges to return per page.Range: 1-100
Number of judges to skip for pagination.Minimum: 0
Filter judges by content type.Allowed values:
video, imageRequest Example
cURL
curl -X GET "https://api.getpique.ai/v1/judges" \
-H "X-API-Key: pk_your_api_key_here"
With Pagination
curl -X GET "https://api.getpique.ai/v1/judges?limit=10&offset=0" \
-H "X-API-Key: pk_your_api_key_here"
With Content Type Filter
curl -X GET "https://api.getpique.ai/v1/judges?content_type=video" \
-H "X-API-Key: pk_your_api_key_here"
Response
Array of judge objects
Show Judge Object
Show Judge Object
Unique identifier for the judge
The name of the judge
Description of what this judge evaluates
The type of content this judge evaluates (
video or image)Current status of the judgePossible values:
ready- Judge is ready to usepending- Judge is being preparedfailed- Judge creation failed
Whether the judge is currently active
ISO 8601 timestamp of when the judge was created
ISO 8601 timestamp of when the judge was last updated
Total number of judges matching the query
Whether there are more judges available beyond the current page
Response Example
{
"judges": [
{
"id": "1f46ff19-e251-421c-8b81-30561e160b62",
"name": "Brand Video Judge",
"description": "Evaluates brand video content for compliance and quality",
"content_type": "video",
"status": "ready",
"detector_configs": [
{
"id": "443b224d-d5af-40bd-95cb-ec54ea9dacf6",
"detector_name": "language",
"config": {
"accepted_languages": ["en"]
},
"weight": 5
},
{
"id": "f08eedc2-cb03-43cf-a041-84b0c6b91ae0",
"detector_name": "subtitles",
"config": {
"require_subtitles": true
},
"weight": 5
},
{
"id": "6f17c1d8-27bd-492e-9117-b272446d9e19",
"detector_name": "title_and_description",
"config": {
"required_hashtags": ["#acme"]
},
"weight": 5
},
{
"id": "d9104e0a-fa8d-4dfe-aedb-54e1ae255646",
"detector_name": "video_matching",
"config": {
"reference_videos": [
"gs://judge-artifacts-sandbox/org_9094b441/reference_uploads/c354b125/f37ba7ed.mp4"
]
},
"weight": 5
},
{
"id": "9319a5b2-c4f5-46a3-9664-443fb8db4d3c",
"detector_name": "video_specs",
"config": {
"min_width": 1080,
"min_height": 1080,
"min_duration_sec": 10,
"allowed_aspect_ratios": ["9:16", "4:3"]
},
"weight": 5
}
],
"is_active": true,
"created_at": "2026-01-22T05:33:07.965372Z",
"updated_at": "2026-01-25T23:40:28.563145Z"
}
],
"total": 1,
"has_more": false
}
Error Responses
401 Unauthorized
Missing or invalid API key500 Internal Server Error
Failed to retrieve judges due to server error⌘I