---
title: "Read assessment freshness and its effective decision"
method: GET
path: "/api/v1/risk/assessments/{id}/state"
tags: ["Risk"]
---

# Read assessment freshness and its effective decision

`GET /api/v1/risk/assessments/{id}/state`

## Request

- Base URL: `https://api.korala.ai`
- URL: `https://api.korala.ai/api/v1/risk/assessments/{id}/state`
- Auth: one of:
  - API key in header `X-API-Key`
  - `bearer` (a scheme the document does not define)

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string
- `X-Risk-Mode` string
- `X-Korala-Mode` 'live' | 'test'

## Response `200`

- RiskAssessmentStateDto
  - `assessment` RiskAssessmentDataDto, required
    - `id` string, uuid, required
    - `organizationId` string, uuid, required
    - `sandbox` boolean, required
    - `createdAt` string, date-time, required
    - `subjectId` string, uuid, required
    - `policyVersionId` string, uuid, required
    - `policyKey` string, required
    - `policySnapshot` object, required
      - `schemaVersion` string: Policy format version. Omission denotes legacy version 1; unrelated to the published policy revision.
      - `inputs` object[], required
        - `key` string, required
        - `scope` 'subject' | 'current_context'
        - `derivedReuse` object
          - `profileId` string, uuid, required
          - `output` string, required
        - `verification` object
          - `stepType` string
          - `stepIndex` integer, required
          - `field` string, required
          - `transform` 'identity' | 'age_years'
          - `workflowDefinitionId` string, uuid, required
          - `workflowUpdatedAt` string, date-time, required
        - `label` string
        - `kind` 'text' | 'number' | 'boolean' | 'list' | 'country' | 'choice' | 'money' | 'date' | 'datetime'
        - `allowedValues` string[]
        - `currency` string
        - `decimalPlaces` integer
        - `unit` string
        - `itemType` 'string' | 'number' | 'boolean'
        - `type` 'string' | 'number' | 'boolean' | 'list', required
        - `evidenceKind` 'observed' | 'model_signal'
        - `requirement` 'required' | 'supporting'
        - `acceptedSources` string[], required
        - `maxAgeSeconds` integer, required
      - `applicability` object[]
        - `id` string, required
        - `all` object[], required
          - `fact` string, required
          - `operator` 'eq' | 'in' | 'contains' | 'gte' | 'gt' | 'lte' | 'lt' | 'eq_fact' | 'neq_fact', required
          - `value` union, required
            - string
            - number
            - boolean
            - union[]
              - …
      - `eligibility` object[]
        - `id` string, required
        - `reason` string, required
        - `all` object[], required
          - `fact` string, required
          - `operator` 'eq' | 'in' | 'contains' | 'gte' | 'gt' | 'lte' | 'lt' | 'eq_fact' | 'neq_fact', required
          - `value` union, required
            - string
            - number
            - boolean
            - union[]
              - …
      - `factors` object[], required
        - `id` string, required
        - `label` string, required
        - `match` 'first' | 'highest', required
        - `weight` number, required
        - `defaultPoints` number
        - `cases` object[], required
          - `when` object, required
            - `fact` string, required
            - `operator` 'eq' | 'in' | 'contains' | 'gte' | 'gt' | 'lte' | 'lt' | 'eq_fact' | 'neq_fact', required
            - `value` union, required
              - …
          - `points` number, required
      - `aggregation` 'sum' | 'max', required
      - `floor` number, required
      - `ceiling` number, required
      - `bands` object[], required
        - `id` string, required
        - `min` number, required
        - `effect` object, required
          - `decision` 'none' | 'review' | 'restrict' | 'reject', required
          - `actions` string[], required
      - `rules` object[], required
        - `id` string, required
        - `reason` string, required
        - `all` object[], required
          - `fact` string, required
          - `operator` 'eq' | 'in' | 'contains' | 'gte' | 'gt' | 'lte' | 'lt' | 'eq_fact' | 'neq_fact', required
          - `value` union, required
            - string
            - number
            - boolean
            - union[]
              - …
        - `forceBand` string
        - `effect` object, required
          - `decision` 'none' | 'review' | 'restrict' | 'reject', required
          - `actions` string[], required
      - `missingEvidence` 'awaiting_evidence' | 'review', required
      - `reviewAfterSeconds` integer
    - `previousId` string, uuid, nullable, required
    - `evidenceRevision` number, required
    - `sequence` number, required
    - `trigger` string, required
    - `result` RiskEvaluationDto, required
      - `eligibility` RiskEligibilityResultDto
        - `evaluatorVersion` 'risk-eligibility-v1', required
        - `status` 'eligible' | 'ineligible' | 'unknown', required
        - `criteria` RiskRuleResultDto[], required
          - `id` string, required
          - `matched` boolean, nullable, required
          - `reason` string, required
        - `missing` RiskMissingFactDto[], required
          - `fact` string, required
          - `reason` string, required
        - `validUntil` string, date-time, nullable, required
      - `evaluatorVersion` 'risk-v1', required
      - `status` 'complete' | 'incomplete', required
      - `score` number, nullable, required
      - `band` string, nullable, required
      - `decision` 'none' | 'review' | 'restrict' | 'reject' | 'awaiting_evidence', required
      - `missing` RiskMissingFactDto[], required
        - `fact` string, required
        - `reason` string, required
      - `inputs` RiskEvaluationInputDto[], required
        - `provenance` RiskReceiptProvenanceDto
          - `sourceRegistrationId` string, uuid, required
          - `sourceRevision` number, required
          - `assertedBy` string, required
          - `adapter` 'registered-external-v1', required
          - `evidenceClass` 'assertion', required
        - `providerRef` string, nullable
        - `modelProvenance` RiskModelProvenanceDto
          - `provider` string, required
          - `model` string, required
          - `criteriaVersion` string, required
          - `inputDigest` string, required: SHA-256 of the exact model input snapshot
          - `runId` string, required
        - `id` string, uuid, required
        - `fact` string, required
        - `value` union, required
          - string
          - number
          - boolean
          - union[]
            - union
              - …
        - `source` string, required
        - `status` 'available' | 'unavailable' | 'revoked', required
        - `observedAt` string, date-time, required
        - `receivedAt` string, date-time, required
        - `expiresAt` string, date-time, nullable, required
      - `coverage` RiskInputCoverageDto[]
        - `fact` string, required
        - `requirement` 'required' | 'supporting', required
        - `status` 'available' | 'unavailable', required
        - `reason` string, nullable, required
      - `factors` RiskFactorResultDto[], required
        - `id` string, required
        - `points` number, required
        - `weight` number, required
        - `contribution` number, required
        - `matchedCases` number[], required
      - `rules` RiskRuleResultDto[], required
        - `id` string, required
        - `matched` boolean, nullable, required
        - `reason` string, required
      - `actions` string[], required
      - `validUntil` string, date-time, nullable, required
    - `validUntil` string, date-time, nullable, required
  - `current` boolean, required
  - `activeOverride` RiskOverrideDataDto, required
    - `id` string, uuid, required
    - `organizationId` string, uuid, required
    - `sandbox` boolean, required
    - `createdAt` string, date-time, required
    - `subjectId` string, uuid, required
    - `assessmentId` string, uuid, required
    - `sequence` number, required
    - `decision` 'none' | 'review' | 'restrict' | 'reject', required
    - `reason` string, required
    - `actor` string, required
    - `expiresAt` string, date-time, required
    - `revokedAt` string, date-time, nullable, required
  - `effectiveDecision` 'none' | 'review' | 'restrict' | 'reject' | 'awaiting_evidence' | 'reassessment_required', required

## Other responses

- `400`: Malformed UUID in path parameter (`id`).

---

[API](https://skmtc.dev/korala/apis/korala-public-api.md) · [All operations](https://skmtc.dev/korala/apis/korala-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/korala/apis/korala-public-api/revisions/5c4d7810c507?raw)
