---
title: "List all annotations for a session (internal)"
method: GET
path: "/internal/sessions/{session_id}/annotations"
tags: ["internal"]
---

# List all annotations for a session (internal)

`GET /internal/sessions/{session_id}/annotations`

## Request

- Base URL: `https://api.helena.bio` (the document declares no server; this is the origin it was published from)
- URL: `https://api.helena.bio/internal/sessions/{session_id}/annotations`
- Auth: none declared

Return all user annotations for a session.

No JWT auth — protected by shared secret via X-Internal-Service-Token
header. Consumed by ai-service (reports), family-analysis, and
other internal services that need merged views over DuckDB pipeline
data + PostgreSQL user annotations.

## Path parameters

- `session_id` string, uuid, required

## Headers

- `X-Internal-Service-Token` string, nullable

## Response `200`

Successful Response

- SessionAnnotationsResponse: All annotations for a session, for internal consumer merging.
  - `session_id` string, uuid, required
  - `annotations` AnnotationRecord[], required
    - `variant_idx` integer, required
    - `is_user_flagged` boolean
    - `user_flag_comment` string, nullable
    - `flagged_by` UserAttribution: Identifies a user who performed an action, with optional timestamp. Used in flag/override responses and annotation records. Both user_id and user_name are required — user_id for system references, user_name for display. timestamp optional because some historical records (migrated from DuckDB) lack precise timestamps.
      - `user_id` string, uuid, nullable: User UUID. May be None for historical records migrated from DuckDB where original user was not tracked.
      - `user_name` string, required: Display name of the user. For historical records, may be 'system:historical-migration' or 'unknown-historical'.
      - `timestamp` string, date-time, nullable: When the action occurred. None for historical records without precise timestamp.
    - `acmg_override_class` string, nullable
    - `acmg_class_original` string, nullable
    - `override_reason` string, nullable
    - `overridden_by` UserAttribution: Identifies a user who performed an action, with optional timestamp. Used in flag/override responses and annotation records. Both user_id and user_name are required — user_id for system references, user_name for display. timestamp optional because some historical records (migrated from DuckDB) lack precise timestamps.
      - `user_id` string, uuid, nullable: User UUID. May be None for historical records migrated from DuckDB where original user was not tracked.
      - `user_name` string, required: Display name of the user. For historical records, may be 'system:historical-migration' or 'unknown-historical'.
      - `timestamp` string, date-time, nullable: When the action occurred. None for historical records without precise timestamp.
  - `total_count` integer, required: Number of annotated variants in this session.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/helena/apis/helix-insight-variant-analysis-service.md) · [All operations](https://skmtc.dev/helena/apis/helix-insight-variant-analysis-service/llms.txt) · [OpenAPI document](https://skmtc.dev/helena/apis/helix-insight-variant-analysis-service/revisions/fe51fd20cdf1?raw)
