Skip to content

client.judge_classes

client.judge_classes — the judgeClasses operations.

On AsyncKindgi every method is the same, awaited.

list(
*,
limit: int | None = None,
cursor: str | None = None,
scope_kind: Literal['tenant', 'project', 'agent'] | None = None,
project_id: str | UUID | None = None,
agent_id: str | UUID | None = None,
timeout: float | None = None,
) -> JudgeClassCollectionPage

List judge classes. GET /v1/judge-classes

Live classes, newest first, cursor-paginated. ?scopeKind=tenant|project|agent (with projectId / agentId) narrows to one scope.

create(
body: CreateJudgeClassBody | Mapping[str, Any] | None = None,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
**fields: Any,
) -> JudgeClass

Create a judge class. POST /v1/judge-classes

A named kind of judge with a weight, scoped to the tenant, a project, or an agent in a project. Names are unique among the live classes of a scope. Needs admin on the tenant (tenant scope) or the project.

get(judge_class_id: str | UUID, /, *, timeout: float | None = None) -> JudgeClass

Fetch a judge class. GET /v1/judge-classes/{judgeClassId}

Also returns a retired class (unregisteredAt set): judgments keep naming theirs.

update(
judge_class_id: str | UUID,
body: UpdateJudgeClassBody | Mapping[str, Any] | None = None,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
**fields: Any,
) -> JudgeClass

Change a judge class's weight or description. PATCH /v1/judge-classes/{judgeClassId}

unregister(
judge_class_id: str | UUID,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
) -> UnregisterJudgeClassResult

Retire a judge class. POST /v1/judge-classes/{judgeClassId}/unregister

No new judgments may name it; existing judgments keep it.