Skip to main content
Judge one ticket against a published pack. You need an account, a pack with a published version, and an API key.
1

Create a pack

In the app, open Packs and create a pack. A new pack starts from the triage draft: department, urgency, refund requested, policy risk, and escalation.To create one over the API, send a key with packs:write:
The response includes id. That is the packId you judge with. The body of a new pack is the starter draft. Replace it with PATCH /api/packs/{packId} when you want your own questions. See Packs and Questions.
2

Publish the draft

REST, MCP, webhooks, and simulations judge the published version. The playground can judge the draft before you publish.
The response is { "versionId": "..." }. A published version does not change. The next publish creates a new version and makes it live.
3

Create an API key

In the app, open Integrations and create a key. The secret is shown once. Copy it into JUDGED_API_KEY.POST /api/judge accepts an API key and does not fall back to a browser session. Send the key as x-api-key or Authorization: Bearer.
4

Judge a ticket

A 200 body is { evaluationId, result, packVersionId }. result.status is accept or review. A gateway failure is still 200, with status: "review" and a reason such as gateway_unavailable. See Errors.
5

Read the stored evaluation

The row includes the redacted ticket, the answers, and any labels added later. List recent rows with GET /api/evaluations.
Send Idempotency-Key (1–128 characters) when a retry must not judge the ticket twice. The same key on POST /api/judge returns the stored evaluation. A gateway failure does not store the key, so a retry can run again.

Next

Write questions

Choice, score, and boolean, and what to leave out of the instructions.

Set thresholds

When a probability or a score becomes review.

Receive a completion

Accept a ticket with 202, then verify the signed POST.

Connect an agent

OAuth into {origin}/mcp and call judge_ticket.