API Reference

Base URL: https://radar.dev/api/v1

Authentication

Include your API key in the Authorization header:

Authorization: Bearer rdr_sk_live_your_key_here

Rate Limits

Free tier: 10 evals/day, 2 concurrent

Paid tier: 100 evals/day, 10 concurrent

Endpoints

POST/api/v1/eval

Start a new evaluation

Request Body
{
  "agent_url": "https://your-agent.com/run",
  "benchmark": "rgym-001",
  "tasks": "all",          // or [1, 3, 5]
  "timeout_seconds": 300,  // optional, default 300
  "webhook_url": "..."     // optional, notify on completion
}
Response
{
  "eval_id": "eval_7xk9m2",
  "status": "queued",
  "benchmark": "rgym-001",
  "tasks_count": 12,
  "eta_seconds": 120,
  "created_at": "2024-12-15T10:30:00Z"
}
GET/api/v1/eval/:eval_id

Get evaluation status and results

Response
{
  "eval_id": "eval_7xk9m2",
  "status": "completed",
  "benchmark": "rgym-001",
  "score": 0.847,
  "passed": 10,
  "failed": 2,
  "tasks": [
    {
      "task_id": 1,
      "passed": true,
      "score": 0.92,
      "reasoning_trace": "Agent correctly identified..."
    }
  ],
  "duration_seconds": 134,
  "created_at": "2024-12-15T10:30:00Z",
  "completed_at": "2024-12-15T10:32:14Z"
}
GET/api/v1/eval

List all evaluations

Response
{
  "evals": [...],
  "total": 47,
  "page": 1,
  "per_page": 20
}
GET/api/v1/benchmarks

List available benchmarks

Response
{
  "benchmarks": [
    {
      "id": "rgym-001",
      "name": "Literature Survey Synthesis",
      "paper": "ResearchGym (2024)",
      "tasks_count": 12,
      "difficulty": "hard"
    }
  ]
}

Error Codes

CodeMeaning
400Invalid request body or parameters
401Missing or invalid API key
403Eval quota exceeded
404Eval or benchmark not found
408Agent timed out during evaluation
429Rate limit exceeded
500Internal server error