---
title: "Read a server Assurance Profile"
method: GET
path: "/api/v1/sessions/{session_id}/assessment"
tags: ["canonical"]
---

# Read a server Assurance Profile

`GET /api/v1/sessions/{session_id}/assessment`

## Request

- Base URL: `https://app.graypass.org` (the document declares no server; this is the origin it was published from)
- URL: `https://app.graypass.org/api/v1/sessions/{session_id}/assessment`
- Auth: HTTP bearer

Build the current server assessment for the session and its subject.

## Path parameters

- `session_id` string, required

## Response `200`

Server Assurance Profile with claim statuses, evidence freshness and limitations.

- AssuranceProfile: Server assessment of available evidence for one subject and session. It contains no calibrated confidence score.
  - `active_seconds` number: Duration of accepted active evidence in seconds.
  - `assessed_at` string, required: Assessment time as an ISO 8601 timestamp.
  - `claims` AssuranceClaim[], required: Individual assurance claims with their own status and limitations.
    - `claim` string, required: Claim name, such as operator_continuity or human_presence. Capability availability is separately reported by metadata.
    - `coverage` 'none' | 'sparse' | 'partial' | 'sufficient', required: Evidence-coverage category: none, sparse, partial or sufficient. Describes the amount and variety of accepted evidence.
    - `evidence_refs` string[]: Opaque references to the evidence supporting this claim.
    - `freshness_ms` integer, nullable: Age of the relevant evidence in milliseconds; null when freshness cannot be established.
    - `limitations` string[]: Applicable limitations that must accompany interpretation of the result.
    - `reason_codes` string[]: Stable reason identifiers explaining acceptance, limitations or a decision; resolve them in the reason-code catalog.
    - `status` 'confirmed' | 'likely' | 'uncertain' | 'not_confirmed' | 'detected' | 'not_detected' | 'not_present' | 'insufficient_evidence' | 'unsupported', required: Permitted statuses for a named assurance claim. Read the status with the claim definition, coverage, freshness, and assessment context.
  - `coverage` 'none' | 'sparse' | 'partial' | 'sufficient', required: Evidence-coverage category: none, sparse, partial or sufficient. Describes the amount and variety of accepted evidence.
  - `evidence_windows` integer: Number of accepted, non-overlapping evidence windows accounted for in this session or profile.
  - `feature_schema_version` string, required: Version identifier for the feature representation used by the session or assessment.
  - `freshness_ms` integer, nullable: Age of the relevant evidence in milliseconds; null when freshness cannot be established.
  - `id` string, required: Identifier of this record. Treat it as opaque and retain it for subsequent operations.
  - `insufficient_evidence` boolean, required: True when evidence is insufficient for the assessment’s supported claims.
  - `limitations` string[]: Applicable limitations that must accompany interpretation of the result.
  - `modalities_present` string[]: Names of observed evidence modalities included in coverage accounting.
  - `model_version` string, required: Version identifier for the model used in this assessment. Retain it when comparing assessment results.
  - `rule_version` string, required: Version identifier for the assurance rules used in this assessment.
  - `session` string, nullable: Observation or enrollment session identifier, as required by the operation.
  - `subject` string, required: Pseudonymous subject identifier in the authenticated tenant and environment.

## Other responses

- `422`: The canonical handler returns a Problem for invalid input; correct the request before retrying.

---

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