Read-only native decision review#

PropertyValue
Servicecrossfire
OperationruntimeDecision
MethodGET
Path/api/agents/{agentId}/runtime-decisions/{decisionId}
Authenticationeither
Success status200
Response dataUnpaginated value
Request formatjson
Maximum request body2097152 bytes (service default)
Permission codesagent.read.self, agent.read.owned, agent.read.any

Listed permission codes are alternatives, not token scopes. The service also checks access to the requested records and rejects stale revisions or controller generations.

Path parameters#

object; fields below; unknown fields rejected

Field pathRepresentation and constraints
agentIdlowercase opaque UUID
decisionIdlowercase opaque UUID

Validation#

check.object({ agentId: check.identifier, decisionId: check.identifier })

Referenced definitions:

Query parameters#

custom validation: none ; see function below

Query parameters are URL text. The validation function below specifies their format, defaults and combinations. Pagination applies only to operations that use it.

Additional checks#

The following checks apply in addition to the field limits.

Constraint on value:

export function none(input: unknown) {
    const parsed = listQuery([])(input);
    return parsed.ok ? success({}) : parsed;
}

Validation#

query.none

Referenced definitions:

Request body#

empty object; unknown fields rejected

Validation#

check.empty

Referenced definitions:

Response data#

object; fields below; unknown fields rejected ( decisionView )

Field pathRepresentation and constraints
idlowercase opaque UUID
runIdlowercase opaque UUID
runtimelowercase name; pattern [a-z][a-z0-9-]{0,39}
sessionIdstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
requestIdstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
turnIdstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
itemIdstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
kindpermission or question
actionstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
reviewplain-text string; at most 8388608 UTF-8 bytes; allowed whitespace controls only; constraint: Native review exceeds the separate UTF-8 resource bound
blockingboolean
expiresAtexact JSON integer; 0…9007199254740991; JSON null permitted
questionsarray; 1–100 entries; item: object; fields below; unknown fields rejected ( decisionQuestion )
questions[].idstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
questions[].titlestring; 1–1000 UTF-16 units; well-formed Unicode; no C0/DEL controls
questions[].promptplain-text string; at most 16000 UTF-8 bytes; allowed whitespace controls only
questions[].secretboolean
questions[].allowTextboolean
questions[].optionsarray; 0–100 entries; item: object; fields below; unknown fields rejected ( option )
questions[].options[].idstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
questions[].options[].labelstring; 1–1000 UTF-16 units; well-formed Unicode; no C0/DEL controls
questions[].options[].descriptionplain-text string; at most 4000 UTF-8 bytes; allowed whitespace controls only
agentIdlowercase opaque UUID
statuspending or answered or responded or cancelled or expired ( decisionStatus )
createdAtexact JSON integer; 0…9007199254740991

Additional checks#

The following checks apply in addition to the field limits.

Constraint on review:

value => new TextEncoder().encode(value).byteLength <= MAX_REVIEW_BYTES

Validation#

runtime.decisionView

Referenced definitions:

Response envelope#

A successful JSON response contains data and meta. Replace the data placeholder below with the response fields described above. Errors contain error instead of data.

{
  "data": "<value matching the response-data validator>",
  "meta": {
    "requestId": "00000000-0000-0000-0000-000000000001"
  }
}