Endpoints
Complete reference for suites, runs, models, and usage endpoints.
Base URL: https://app.peerlm.com/api/v1
System Prompts
POST /system-prompts
Create a system prompt. Requires read-write scope.
curl -X POST \
-H "X-API-Key: plm_live_..." \
-H "Content-Type: application/json" \
-d '{"name": "Support Agent", "system_prompt": "You are a helpful support agent."}' \
https://app.peerlm.com/api/v1/system-promptsOptional fields: description, tags (string array). Returns the created prompt with id.
Test Prompts
POST /test-prompts
Create a test prompt. Requires read-write scope.
curl -X POST \
-H "X-API-Key: plm_live_..." \
-H "Content-Type: application/json" \
-d '{"title": "Refund request", "prompt": "How do I get a refund?"}' \
https://app.peerlm.com/api/v1/test-promptsOptional fields: description, tags (string array). Returns the created prompt with id.
Suites
GET /suites
List all evaluation suites in your workspace.
curl -H "X-API-Key: plm_live_..." \
https://app.peerlm.com/api/v1/suitesGET /suites/:suiteId
Get full suite details including configuration.
POST /suites
Create an evaluation suite. Requires read-write scope.
curl -X POST \
-H "X-API-Key: plm_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Customer Support Eval",
"generator_models": ["model-id-1", "model-id-2"],
"evaluator_models": ["model-id-3"],
"system_prompt_ids": ["uuid-1"],
"test_prompt_ids": ["uuid-1", "uuid-2"],
"criteria": [{"label": "Accuracy", "description": "...", "weight": 3}]
}' \
https://app.peerlm.com/api/v1/suitesRequired: name, generator_models (min 2), evaluator_models (min 1), system_prompt_ids, test_prompt_ids, criteria. Optional: description, deterministic_mode, samples_per_prompt, evaluation_method.
Runs
GET /runs
List evaluation runs. Optional query parameters:
suite_id— filter by suitestatus— filter by status (queued, running, completed, failed, cancelled)limit— max results (default 50, max 100)
POST /runs
Trigger a new evaluation run. Requires read-write scope.
curl -X POST \
-H "X-API-Key: plm_live_..." \
-H "Content-Type: application/json" \
-d '{"suite_id": "uuid-here"}' \
https://app.peerlm.com/api/v1/runsReturns the created run with a 201 status. Credits are deducted at creation time.
GET /runs/:runId
Get run status, progress, and results summary (when completed).
GET /runs/:runId/scores
Get all responses and evaluation scores. Only available for completed runs.
Models
GET /models
List all available models. Optional filters:
provider— filter by provider nametier— filter by tier (standard, advanced, premium, frontier)
Usage
GET /usage
Get current subscription info and credit usage for the billing period.
{
"plan": "pro",
"creditsIncluded": 100,
"creditsUsed": 42,
"creditsRemaining": 58,
"overageEnabled": true,
"recentUsage": [...]
}