Skip to main content
POST
/
judges
{
  "id": "<string>",
  "name": "<string>",
  "description": "<string>",
  "content_type": "<string>",
  "status": "<string>",
  "training_progress": 123,
  "criteria": [
    {}
  ],
  "created_at": {},
  "updated_at": {},
  "version_number": 123,
  "is_active": true
}

Overview

Creates a new judge with specified evaluation criteria. Judges are used to evaluate content based on custom criteria you define.

Request Body

name
string
required
Name of the judge
description
string
required
Detailed description of what this judge evaluates
content_type
string
required
Type of content this judge evaluates
  • text - Text content
  • video - Video content
  • audio - Audio content
  • image - Image content
criteria
array
required
List of evaluation criteria

Response

id
string
required
Unique identifier for the judge
name
string
required
Judge name
description
string
required
Judge description
content_type
string
required
Content type (text, video, audio, image)
status
string
required
Judge status
  • ready - Ready for use
  • learning - In learning mode
  • training - Being trained
training_progress
integer
required
Training progress percentage (0-100)
criteria
array
required
List of criteria with IDs
created_at
datetime
required
Creation timestamp
updated_at
datetime
required
Last update timestamp
version_number
integer
required
Current version number
is_active
boolean
required
Whether the judge is active

Examples

curl -X POST https://api.judge.example.com/judges \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Content Quality Judge",
    "description": "Evaluates content quality based on clarity, accuracy, and completeness",
    "content_type": "text",
    "criteria": [
      {
        "name": "Clarity",
        "description": "How clear and easy to understand the content is"
      },
      {
        "name": "Accuracy",
        "description": "Factual correctness and precision of information"
      },
      {
        "name": "Completeness",
        "description": "Coverage of all relevant aspects of the topic"
      }
    ]
  }'
curl -X POST https://api.judge.example.com/judges \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Invalid Judge",
    "description": "This will fail",
    "content_type": "text",
    "criteria": [
      {
        "name": "Quality",
        "description": "First quality criterion"
      },
      {
        "name": "quality",
        "description": "Duplicate name (case-insensitive)"
      }
    ]
  }'