---
title: "Get Bio Panel"
method: GET
path: "/read/web/bio-panel"
tags: ["read", "web"]
---

# Get Bio Panel

`GET /read/web/bio-panel`

## Request

- Base URL: `https://api.projectindi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.projectindi.com/read/web/bio-panel`
- Auth: none declared

Fetch all children profiles with complete bio data for the current user.

Returns all data needed for the Child Bio Panel component in a single call.

Authentication: JWT required via Authorization header
RLS: Automatically enforced through user_client isolation

## Query parameters

- `selected_child_id` string, nullable: Optional child ID to mark as selected

## Response `200`

Successful Response

- BioPanelResponse
  - `selected_child_id` string, nullable
  - `children` ChildBioData[], required
    - `child_id` string, required
    - `name` string, required
    - `avatar` string, nullable
    - `avatar_url` string, nullable
    - `latest_conversation_id` string, nullable
    - `inbox_email` string, nullable
    - `inbox_display` string, nullable
    - `basic_info` BasicInfo, required: Identity fields only - deliberately no government identifiers. This payload serves the parent bio panel and the village-free worker one, and since the Key Information panel stopped painting the flat columns nothing on either surface reads an identifier from here: the register (``child_profile_sections.content``) is what the panel, the emergency PDF and the completion check all read, and the clinic reads the flat columns through its own endpoint (``read/clinic/clients.py``). Sending four government identifiers that no consumer renders is exactly the collection the UK columns' own comments cite Art. 5(1)(c) against, so they are not selected and not returned. Adding one back means adding a reader in the same PR, and saying which in the store register in ``supabase/CLAUDE.md``.
      - `age` string, nullable
      - `date_of_birth` string, nullable
      - `gender` string, nullable
      - `pronouns` string, nullable
    - `diagnosis_info` DiagnosisInfo, required
      - `is_diagnosed` boolean
      - `diagnosis` string[]
      - `conditions` string[]
      - `stage` string, nullable
    - `medical_info` MedicalInfo, required
      - `medical_history` string, nullable
      - `current_medications` Medication[]
        - `name` string, required
        - `dosage` string, nullable
        - `frequency` string, nullable
        - `notes` string, nullable
      - `allergies` Allergy[]
        - `name` string, required
        - `severity` string, required
        - `reaction` string, nullable
      - `healthcare_providers` string[]
    - `milestones` Milestone[]
      - `id` string, required
      - `title` string, required
      - `description` string, nullable
      - `category` string, required
      - `status` string, required
      - `completed_at` string, nullable
      - `target_age` string, nullable
    - `care_team` CareTeamMember[]
      - `id` string, required
      - `member_id` string, required
      - `first_name` string, required
      - `last_name` string, required
      - `email` string, nullable
      - `phone` string, nullable
      - `address` string, nullable
      - `organisation` string, nullable
      - `role_type` string, required
      - `role_value` string, required
      - `role_kind` string, nullable
      - `access_level` string, nullable
      - `avatar_url` string, nullable
      - `clinician_profile_id` string, nullable
      - `is_emergency_contact` boolean
      - `is_next_of_kin` boolean
      - `is_connected_clinician` boolean
      - `is_connected_family` boolean
      - `is_taggable` boolean
      - `suggested_clinician` boolean
      - `is_retired` boolean
      - `invite_status` string, nullable
      - `invited_at` string, nullable
      - `invite_expires_at` string, nullable
      - `invite_delivery_status` string, nullable
      - `share_url` string, nullable
    - `profile_completeness` integer
    - `last_updated` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles.md) - [All operations](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles/llms.txt) - [OpenAPI document](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles/revisions/25a7813e21fd?raw)
