Skip to content

A judging rule's versions

GET
/v1/projects/{projectId}/judging-rules/{ruleId}/versions
curl --request GET \
--url 'https://example.com/v1/projects/example/judging-rules/example/versions?limit=25' \
--header 'Authorization: Bearer <token>'

Every version, newest first: who wrote it, when, and what it said. Needs read on the project.

projectId
required
string

ProjectId — opaque branded string.

ruleId
required
string
limit
integer
default: 25 >= 1 <= 100

1..100. Default 25.

cursor
string

Where the previous page ended: its nextCursor, as it came. A runtime that seals cursors takes one only for the same list, filters and caller, within a day; otherwise 400 bad-input, and the list starts again without it. Absent → first page.

A page of versions.

Media typeapplication/json
object
data
required
Array<object>

One version of a judging rule; the latest live one applies.

object
ruleId
required
string
projectId
required
string
version
required
integer
>= 1
name
required
string
>= 1 characters <= 200 characters
when
required

Which of a project’s runs a rule matches as they end. Every field narrows; absent fields don’t. agentIds or flowIds, not both. Top-level runs only (an agent’s own runs, not its turns as a flow’s step); replays never match.

object
agentIds
Array<string>
>= 1 items <= 50 items
flowIds
Array<string>
>= 1 items <= 50 items
versions

These versions exactly, or live: runs that got the agent’s live version, not one the caller named. Runs from before the runtime recorded how their version was chosen never match live.

Array<string>
>= 1 items <= 50 items
status

How the run ended. Only completed today: a judgment needs a completed run, so failed and cancelled are refused (400). Absent: completed.

Array<string>
>= 1 items
Allowed values: completed failed cancelled
includeDryRuns

Dry runs are left out unless true.

boolean
sample
required
number
> 0 <= 1
maxOpen

Queue nothing while this rule has this many open items. Absent: no cap.

integer
>= 1 <= 10000
judgeClassId

Whose judgment it wants: one of this class closes it. Absent: any judgment does.

string
enabled
required
boolean
createdBy

Who wrote this version.

string
createdAt
required
string format: date-time
unregisteredAt
string format: date-time
hasMore
required
boolean
nextCursor
string
Example
{
"data": [
{
"when": {
"status": [
"completed"
]
}
}
]
}

Missing / malformed / expired / revoked bearer token.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

No such rule (judging-rule-not-found).

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}