AppsEvaluations

Developers · Autessa Evaluations

Grading API and CLI

The Grading API is an LLM evaluation API for any agent. POST a transcript to /clients/evaluations/grade with an API key and the verdict, scores and judge reasons come back in the same call, or grade a batch in the background with a signed webhook. The `autessa evaluations` CLI offers the same commands: grade, items-get, jobs-create, jobs-get, jobs-items and jobs-list.

A core AI agent evaluation capability, done properly
Start free
POST /clients/evaluations/grade
curl -X POST https://api.autessa.com/clients/evaluations/grade \
  -H "authorization: $AUTESSA_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "agentInstructions": "You are a billing support agent. Refund duplicate charges.",
    "expectedOutcome": "The agent refunds the duplicate charge.",
    "turns": [
      { "role": "USER", "content": "I was charged twice for order 1042." },
      { "role": "ASSISTANT", "content": "I refunded the duplicate $48. It arrives in 3-5 days." }
    ]
  }'

The problem

Evaluation should run where your agents run

Quality checks that only exist in a dashboard get skipped. The Grading API puts the same judges behind one HTTP call, so a script, a scheduled job or a release step can grade conversations from any agent and act on the result.

What you get

  • Autessa exposes grading to scripts over an API key at /clients/evaluations; any enabled key of your company works.
  • grade handles one transcript now and returns evaluation, expectedOutcomeVerdict and passed.
  • jobs-create grades a batch in the background; poll jobs-get or pass a webhookUrl.
  • jobs-items pages through a job in submission order, optionally only one status, up to 200 per page.
  • items-get fetches one graded transcript by itemId or by the externalId you submitted.
  • jobs-list lists your company’s grading jobs, newest first, with progress.
  • Object and array arguments take JSON, and --json sends a whole request body.

How it works

How does grading api and cli work in Autessa Evaluations?

  1. Get a key

    Create an API key for your company, or use any enabled one.

  2. Grade one transcript

    Send the turns, the agent instructions and what should have happened. The result comes back in the same call.

  3. Grade in bulk

    Send up to 500 as a background job and get a signed webhook when it is done.

  4. Read results

    Use jobs-get for progress, jobs-items for results and items-get for a single transcript.

Every option

Commands and what they return

OptionWhat it does
grade--agentInstructions, --turns (required), --expectedOutcome, --evaluationNotes. Returns evaluation, expectedOutcomeVerdict (rating, justification) and passed.
jobs-create--transcripts (required), --webhookUrl. Returns the job, the webhookSecret and one item per transcript.
jobs-get--jobId. Returns the job with status, counts and passRate.
jobs-items--jobId, --status (PENDING, RUNNING, COMPLETED, FAILED), --page, --pageSize (default 50, max 200).
items-get--itemId or --externalId. Returns one item with its result.
jobs-list--page, --pageSize. Your company’s jobs, newest first.
Evaluation statusSUCCESSFUL, SUCCESSFUL_NOT_EFFICIENT, SUCCESSFUL_NOT_ALL_STEPS or UNSUCCESSFUL, with notes and per-dimension scores.

From code

Do it from the CLI or API

Run `autessa <command> help` for the full list of arguments.

CLI documentation →
POST /clients/evaluations/grade
curl -X POST https://api.autessa.com/clients/evaluations/grade \
  -H "authorization: $AUTESSA_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "agentInstructions": "You are a billing support agent. Refund duplicate charges.",
    "expectedOutcome": "The agent refunds the duplicate charge.",
    "turns": [
      { "role": "USER", "content": "I was charged twice for order 1042." },
      { "role": "ASSISTANT", "content": "I refunded the duplicate $48. It arrives in 3-5 days." }
    ]
  }'

Permissions

Who can do what?

WhoCan
API key holderCall /clients/evaluations with any enabled key of the company.
CLI userRun `autessa evaluations` commands as themselves in the active company.
Company members with Agentic WorkflowsSee the same jobs in Transcript Grading in the web app.

Where the judge comes in

How the model is used here

The API calls the same model judges as Transcript Grading and the Sandbox: a quality evaluation against the agent instructions and, when given, an expected-outcome judge whose MET rating decides passed.

How grading works →

Connected

How it connects to the rest of Evaluations

FAQ

Questions about grading api and cli

Is there an API for LLM evaluation?

Yes. POST to /clients/evaluations/grade with an API key to grade one transcript, or use the jobs endpoints for batches. The `autessa evaluations` CLI has the same commands.

What does the response contain?

The evaluation (status, notes and per-dimension scores with justifications), the expected-outcome verdict with a rating and justification when you gave one, and passed, the overall verdict.

Which key do I use?

Any enabled API key of your company works for the Grading API.

Try grading api and cli in Autessa Evaluations

The Grading API and `autessa evaluations` CLI grade one transcript in a single call or a batch in the background, from any language or pipeline.

Start free

Test sets · simulated users · four-dimension scoring · response checks · grading API

100% customizable, code and all

Make Autessa Evaluations fully your own.

Use it out of the box, then change anything. Ask Autobot, Autessa’s AI builder, for a new field, screen, report, workflow or agent and it builds it into your copy of the app. Or open the code and edit it yourself. Nothing is locked: the app, its data and its code are yours.

Start free and make it yours