Skip to main content
POST
/
training
/
jobs
{
  "job_id": "<string>",
  "judge_id": "<string>",
  "training_type": "<string>",
  "status": "<string>",
  "feedback_data_summary": {
    "total_feedback_count": 123,
    "correction_count": 123,
    "rating_count": 123,
    "date_range": {
      "earliest": {},
      "latest": {}
    }
  },
  "estimated_duration": 123,
  "created_at": {},
  "created_by": "<string>"
}

Overview

Creates a new training job to improve judge performance based on accumulated feedback. Training jobs process user corrections and feedback to generate improved judge models with better accuracy and consistency.

Request Body

judge_id
string
required
ID of the judge to train
training_type
string
required
Type of training to perform
  • incremental - Incremental training with recent feedback
  • full_retrain - Complete retraining from all feedback
  • fine_tune - Fine-tuning specific criteria
  • validation - Validation-only run (no model updates)
training_config
object
required
Training configuration parameters
execution_options
object
Job execution options

Response

job_id
string
required
Unique identifier for the training job
judge_id
string
required
ID of the judge being trained
training_type
string
required
Type of training being performed
status
string
required
Initial job status
  • created - Job created but not started
  • queued - Job queued for execution
  • preparing - Preparing training data
  • training - Training in progress
  • validating - Validating results
  • completed - Training completed successfully
  • failed - Training failed
  • cancelled - Job was cancelled
feedback_data_summary
object
required
Summary of feedback data available for training
estimated_duration
integer
Estimated training duration in minutes
created_at
datetime
required
Job creation timestamp
created_by
string
required
User ID who created the job

Examples

curl -X POST https://api.judge.example.com/training/jobs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "judge_id": "jdg_xyz789",
    "training_type": "incremental",
    "training_config": {
      "feedback_cutoff_date": "2024-01-01T00:00:00Z",
      "minimum_feedback_count": 20,
      "validation_split": 0.2,
      "learning_rate": 0.001,
      "max_epochs": 50,
      "early_stopping": true
    },
    "execution_options": {
      "priority": "high",
      "auto_deploy": false,
      "backup_current_version": true,
      "notification_email": "[email protected]",
      "webhook_url": "https://your-app.com/webhooks/training"
    }
  }'
curl -X POST https://api.judge.example.com/training/jobs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "judge_id": "jdg_xyz789",
    "training_type": "fine_tune",
    "training_config": {
      "target_criteria": ["crit_clarity", "crit_accuracy"],
      "minimum_feedback_count": 15,
      "learning_rate": 0.0005,
      "max_epochs": 30
    },
    "execution_options": {
      "priority": "normal",
      "auto_deploy": true
    }
  }'
curl -X POST https://api.judge.example.com/training/jobs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "judge_id": "jdg_new001",
    "training_type": "incremental",
    "training_config": {
      "minimum_feedback_count": 50
    }
  }'