HelpAPI ReferenceEndpoints

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-prompts

Optional 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-prompts

Optional 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/suites

GET /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/suites

Required: 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 suite
  • status — 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/runs

Returns 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 name
  • tier — 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": [...]
}