---
title: "Composite read for the participant Post-Session screen (AC1-AC17 bootstrap)"
method: GET
path: "/api/participant/sessions/{sessionId}/post-session/summary"
tags: ["Participant Post-Session"]
---

# Composite read for the participant Post-Session screen (AC1-AC17 bootstrap)

`GET /api/participant/sessions/{sessionId}/post-session/summary`

## Request

- Base URL: `https://api.production.yourmedley.com`
- URL: `https://api.production.yourmedley.com/api/participant/sessions/{sessionId}/post-session/summary`
- Auth: HTTP bearer

Returns everything the post-session page needs in one round trip:
session metadata + cohort flags + feedback + notes + commitment +
post-session step state + sidebar card data. The frontend calls this
once on page mount and uses scoped mutations afterwards.

Authorization: caller must be an active member of the session's
group. Otherwise 403.

## Path parameters

- `sessionId` string, uuid, required

## Response `200`

Composite post-session payload

- object
  - `success` boolean
  - `data` ParticipantPostSessionSummary
    - `session_id` string, uuid
    - `cohort_id` string, uuid
    - `cohort_name` string
    - `program_name` string
    - `organization_name` string
    - `session_title` string
    - `is_peer_led` boolean: MED-1199 — true when the cohort's group_coaching modality is peer_led. The FE hides the coach-oriented "What your coach sees" card for peer-led groups.
    - `session_status` string
    - `commitment_tracking_enabled` boolean
    - `is_done` boolean
    - `feedback_available` boolean: MED-1063 — false when the participant was marked absent; the page hides the editable feedback form. Submitted feedback is still returned (AC5).
    - `feedback` ParticipantFeedbackPayload
      - `satisfaction_rating` integer, nullable: 1 = Not satisfied, 5 = Very satisfied (higher = more satisfied, matching CoachSatisfactionRating). Nullable while draft.
      - `what_landed` string
      - `what_still_alive` string
      - `what_for_next` string
      - `status` 'draft' | 'submitted'
      - `submitted_at` string, date-time, nullable
      - `updated_at` string, date-time, nullable
    - `notes_html` string
    - `commitment_text` string
    - `post_session_state` ParticipantPostSessionStatePayload
      - `notes_reviewed_at` string, date-time, nullable
      - `completed_at` string, date-time, nullable
    - `sidebar_session_summary` PostSessionSidebarSessionSummary
      - `session_id` string, uuid
      - `duration_minutes` integer, nullable: Actual duration (end - start) when both timestamps are set; else scheduled.
      - `scheduled_duration_minutes` integer, nullable
      - `session_number` integer, nullable
      - `total_sessions` integer, nullable
      - `leader_first_name` string
      - `leader_display_name` string
      - `feedback_status` 'not_started' | 'in_progress' | 'submitted'
    - `sidebar_next_session` PostSessionSidebarNextSession, nullable
      - `session_id` string, uuid
      - `title` string
      - `session_number` integer, nullable
      - `scheduled_start` string, date-time, nullable
      - `group_name` string, nullable
      - `participant_role_label` 'PARTICIPANT'
    - `sidebar_leader_visibility` PostSessionSidebarLeaderVisibility
      - `leader_first_name` string
      - `commitment_tracking_enabled` boolean

## Other responses

- `401`: Unauthorized
- `403`: Not an active member of the session's group
- `404`: Session not found OR live_session_delivery flag off

---

[API](https://skmtc.dev/withmedley/apis/medley-api.md) - [All operations](https://skmtc.dev/withmedley/apis/medley-api/llms.txt) - [OpenAPI document](https://skmtc.dev/withmedley/apis/medley-api/revisions/40aaac5ca6bd?raw)
