How to use Scorra
Everything you need to evaluate AI responses, collect structured judgment from your team, and back every deployment with evidence.
The workflow at a glance
Six steps from an empty organization to evidence you can put in front of a release review.
01
Create an account
Sign up at Scorra. A new organization is created for you automatically.
02
Upload a dataset
Upload a CSV or TSV with your prompts and model responses, or create one via the API.
03
Create an evaluation task
Choose single, pairwise, or ranking. Define your score dimensions and rubrics.
04
Invite evaluators
Share the task with your team or external reviewers. They judge items from their dashboard.
05
Review results
Use analytics to check agreement, score distributions, and evaluator consistency.
06
Export and iterate
Download results as CSV and feed them into your model development or release process.
Getting Started
What is Scorra?
Scorra is a quality evaluation platform for AI applications. It helps teams turn human and AI judgment into measurable, auditable evidence — so every model release comes with numbers, not vibes.
You upload datasets of prompts, create evaluation tasks, and collect structured judgments: single scores, pairwise comparisons, or rankings. Results feed analytics, agreement metrics, and exports that plug into your existing workflows.
Your first organization
When you sign up, Scorra creates an organization for you. An organization is the top-level container for your datasets, tasks, members, and evaluation results.
You can create multiple organizations if you work across different teams or clients. Use the organization switcher in the sidebar to move between them.
Organization owners can invite members and assign roles: Owners manage the organization and billing, Admins manage members and tasks, and Evaluators complete evaluation tasks.
The evaluation workflow
Every evaluation in Scorra follows the same core loop:
- 01Upload a dataset — a CSV or tab-separated file with prompts and, optionally, model responses you want judged.
- 02Create an evaluation task — define what you are measuring: a single score per item, a pairwise A-vs-B comparison, or a ranking of several responses.
- 03Set your criteria — choose score dimensions like accuracy, tone, or helpfulness, and optional rubric guidance for evaluators.
- 04Invite evaluators — internal team members or external contractors receive items to judge one at a time.
- 05Review results — analytics show score distributions, inter-rater agreement, and per-evaluator consistency.
- 06Export and act — download results as CSV and feed them into your model iteration or deployment approval process.
Datasets
What is a dataset?
A dataset is a collection of evaluation items — typically prompts and the model responses you want judged. Datasets are reusable: you can attach the same dataset to multiple evaluation tasks as your prompts or models evolve.
Each item can include:
- A prompt — the input given to the model.
- One or more responses — the model outputs to evaluate (for comparisons and rankings).
- Optional metadata — extra columns like source, category, or model version that help you filter and analyze results.
Supported formats
Scorra accepts CSV and TSV files. The header row defines your fields; the most common columns are prompt, response_a, response_b, and any metadata columns you want to keep.
When you create a dataset via the UI you can paste sample rows to preview how Scorra will parse your file. When using the API, specify the format explicitly.
Managing datasets
Datasets live under your organization and are shared with all members. You can edit a dataset's name and description at any time. If you upload a new file to an existing dataset, the items are replaced — use a new dataset for a new version of your benchmark.
For programmatic management, see the Datasets API section below.
Evaluation Tasks
Types of evaluation
Scorra supports three evaluation types, chosen when you create a task:
- Single scoring — an evaluator assigns scores to one response per dimension (e.g., accuracy 1-5, tone 1-5). Best for absolute quality judgments.
- Pairwise comparison — an evaluator sees two responses side by side and picks the better one, optionally scoring each dimension. Best for head-to-head model comparisons.
- Ranking — an evaluator orders three or more responses from best to worst. Best for tuning among several candidate models.
Score dimensions and rubrics
Dimensions are the aspects you want evaluators to judge. Common choices are accuracy, relevance, tone, safety, and helpfulness. Each dimension can have its own scale (e.g., 1-5 or 0-10) and optional rubric text that guides evaluators on what each score means.
Rubrics matter. A dimension called "accuracy" without guidance produces noisy data. A dimension with a one-line rubric per score level produces data you can trust and compare across evaluators.
Task settings
When creating a task you can configure:
- Title and description — what the evaluators will see.
- Evaluation type — single, pairwise, or ranking.
- Score dimensions — what is being measured.
- Items per evaluator — how many items each evaluator receives (used for distributing work and measuring agreement).
- Auto-activation — whether new items are released to evaluators automatically as they finish.
Running and monitoring a task
Once a task is active, evaluators pick up items one at a time from their dashboard. You can pause a task at any time to stop new work from being submitted.
The task progress view shows completion percentage, throughput per evaluator, and how many items remain. The disagreement view highlights items where evaluators diverged — useful for finding ambiguous prompts or unclear rubrics.
When the task is complete, results are available for analytics and export.
Comparisons & Rankings
Pairwise comparisons
In a pairwise task, each item presents two responses (A and B) and the evaluator chooses which is better — or whether they are tied. Dimensions can be scored independently for each response, giving you both a verdict and a granular breakdown.
Aggregated comparison results show win rates per response, per dimension, and can be filtered by evaluator or time range.
Rankings
In a ranking task, each item presents three or more responses and the evaluator orders them from best to worst. This is especially useful when you are comparing several model variants or prompt versions at once.
Ranked results can be aggregated into an overall ranking across all items, with confidence estimates based on how often each response was placed at each position.
Analytics
Dashboard overview
The organization-level analytics dashboard gives you a snapshot of activity: how many tasks are running, how many evaluations have been completed, and how evaluators are performing.
Inter-rater agreement
Agreement metrics tell you whether your evaluators are consistent. Scorra computes agreement scores per task so you can spot dimensions or items where evaluators diverge — often a sign that the rubric needs clarification.
Score distributions
Score distribution charts show how responses are distributed across each dimension's scale. Shifts in the distribution over time can indicate model improvement or regression.
Evaluator metrics
Evaluator throughput and consistency metrics help you manage your reviewer pool — who is keeping up, who may need more guidance, and whether agreement is holding across the team.
Exports
Exporting results
You can request an export of evaluation results at any time. Exports are generated asynchronously and made available for download once ready.
Supported formats include CSV, which you can open in spreadsheets or feed into your own analysis pipelines. Exports include the item data, the scores or verdicts, evaluator identity, and timestamps.
API Reference
Base URL and versioning
All API requests go to https://scorra.onrender.com/api/v1. The API is versioned via the URL path — currently v1.
The full interactive API reference is available at the Swagger docs.
Authentication
The API supports two authentication methods:
- Bearer token (JWT) — included in the
Authorization: Bearer <token>header. Obtain a token by logging in via the Auth API. - API key — included in the
X-API-Keyheader. API keys are useful for server-to-server integration and long-running jobs.
Most endpoints require a valid Bearer token. Some invitation endpoints are public and do not require authentication.
Auth endpoints
POST /auth/register— Create a new user and organization.POST /auth/login— Log in with email and password, receive a JWT pair.POST /auth/refresh— Refresh an access token using a valid refresh token.POST /auth/logout— Revoke the current tokens.GET /auth/me— Get the currently authenticated user.POST /auth/switch-org/:orgId— Switch the active organization for the session.
Organizations
GET /organizations— List organizations for the current user.POST /organizations— Create a new organization.GET /organizations/:id— Get organization details.PATCH /organizations/:id— Update organization settings.GET /organizations/:id/members— List members.PATCH /organizations/:id/members/:userId— Change a member's role.DELETE /organizations/:id/members/:userId— Remove a member.POST /organizations/:id/invitations— Invite a user by email.POST /organizations/:id/invitations/:invitationId/resend— Resend an invitation.DELETE /organizations/:id/invitations/:invitationId— Revoke an invitation.
Datasets
POST /datasets— Create a new dataset.GET /datasets— List datasets in the organization.GET /datasets/:id— Get a dataset by ID.PATCH /datasets/:id— Update a dataset.DELETE /datasets/:id— Delete a dataset.POST /datasets/:id/upload— Upload items to a dataset (file upload).
Evaluation tasks
POST /evaluations/tasks— Create an evaluation task.GET /evaluations/tasks— List tasks in the organization.GET /evaluations/tasks/:taskId— Get a task by ID.PATCH /evaluations/tasks/:taskId— Update a task.POST /evaluations/tasks/:taskId/activate— Activate a task.POST /evaluations/tasks/:taskId/pause— Pause a task.GET /evaluations/tasks/:taskId/progress— Get completion progress.GET /evaluations/tasks/:taskId/disagreement— Analyze evaluator disagreement.GET /evaluations/tasks/:taskId/summary— Summarize evaluator feedback.GET /evaluations/tasks/:taskId/next— Get the next item to evaluate.POST /evaluations/submit— Submit an evaluation.POST /evaluations/auto-label— Auto-label an evaluation comment with AI.POST /evaluations/:evaluationId/ai-suggestions— Request AI suggestions.GET /evaluations/tasks/:taskId/results— Get all evaluations for a task.
Comparisons & rankings
GET /comparisons/:taskId/next— Get the next uncompared pair.POST /comparisons— Submit a pairwise comparison verdict.GET /comparisons/:taskId/results— Get aggregated comparison results.GET /comparisons/:taskId/comparisons— List individual comparisons.GET /rankings/:taskId/next— Get the next unranked set.POST /rankings— Submit a ranking.GET /rankings/:taskId/rankings— List individual rankings.
Analytics & exports
GET /analytics/dashboard— Org-level analytics overview.GET /analytics/tasks/:taskId/agreement— Inter-rater agreement metrics.GET /analytics/tasks/:taskId/scores— Score distribution.GET /analytics/evaluators— Evaluator throughput and consistency.POST /exports— Request a new export.GET /exports— List exports for the organization.GET /exports/:id/download— Download a ready export file.
Example: creating a task via the API
Here is a minimal example of creating a single-scoring evaluation task:
const res = await fetch("https://scorra.onrender.com/api/v1/evaluations/tasks", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${token}`,
},
body: JSON.stringify({
title: "GPT-4 vs Claude — help quality",
description: "Score helpfulness and accuracy for each response.",
datasetId: "abc123",
evaluationType: "single",
dimensions: [
{ name: "helpfulness", scale: 1, upperBound: 5, rubric: "How well does the response help the user?" },
{ name: "accuracy", scale: 1, upperBound: 5, rubric: "Is the information correct and complete?" },
],
}),
});
const task = await res.json();The response includes the task ID and configuration. Use GET /evaluations/tasks/:taskId/next to fetch items for evaluators, and POST /evaluations/submit to submit their judgments.
Try the API live
The interactive reference documents every request and response schema, the authentication schemes, and lets you call endpoints without leaving the browser.