---
title: "Select the \"main\" slide for the shared whiteboard (MED-976 / E3.3a)"
method: PATCH
path: "/api/coach/sessions/{sessionId}/current-slide"
tags: ["Coach Active Session"]
---

# Select the "main" slide for the shared whiteboard (MED-976 / E3.3a)

`PATCH /api/coach/sessions/{sessionId}/current-slide`

## Request

- Base URL: `https://api.production.yourmedley.com`
- URL: `https://api.production.yourmedley.com/api/coach/sessions/{sessionId}/current-slide`
- Auth: HTTP bearer

Sets `current_slide_page` on the session — the slide-deck page rendered
large on the live whiteboard. The page must be one of the CURRENT
section's associated slides. Persisted on the session and reflected in
both the coach and participant active-state payloads, so every attendee
sees the same slide ("shared with all"). Pass `null` to clear the
selection (falls back to the section's first associated slide).

## Path parameters

- `sessionId` string, uuid, required

## Request body

- object
  - `slide_page` integer, nullable, required: 1-based slide-deck PDF page, or null to clear.

## Response `200`

Updated — returns the active state

- object
  - `success` boolean
  - `data` ActiveSessionState: Composite payload for the Active Session screen (one fetch per page load).
    - `session_id` string, uuid
    - `title` string
    - `session_number` integer, nullable
    - `status` 'scheduled' | 'in_progress' | 'completed' | 'cancelled' | 'rescheduled'
    - `duration_minutes` integer, nullable
    - `scheduled_start` string, date-time, nullable
    - `scheduled_end` string, date-time, nullable
    - `actual_start` string, date-time, nullable
    - `actual_end` string, date-time, nullable
    - `group_id` string, uuid, nullable
    - `group_index` integer, nullable
    - `group_name` string, nullable
    - `cohort_id` string, uuid
    - `cohort_name` string
    - `organization_name` string, nullable
    - `meeting_link` string, nullable: MED-1112 — resolved meeting link (Join video call), null for in-person
    - `modality_id` string, uuid, nullable
    - `coaching_sub_type` 'coach_led' | 'peer_led', nullable
    - `ai_features_enabled` boolean: AC7 gating signal — frontend renders the AI disclosure modal when true.
    - `sections` object[]: MED-976 (E1.3h) — authored sections from the e1.3d/e/f model (session_agenda_sections + visuals + leader_prompts). Replaces the legacy parsed_outline from MED-784. Each item carries section_name, duration_minutes, sort_order, participant_prompt, leader_prompts[] (intro_text + discussion_prompt HTML), and visuals[] (slide_page associations).
    - `slide_deck` ActiveSessionSlideDeck, nullable
      - `id` string, uuid
      - `converted_pdf_s3_key` string, nullable
      - `processing_state` 'pending' | 'processing' | 'ready' | 'failed'
      - `original_filename` string
    - `leader_notes` object[]
    - `current_section_index` integer, nullable
    - `current_section_entered_at` string, date-time, nullable
    - `section_time_seconds` object: Cumulative seconds per section, keyed by section index as string (AC5).
    - `coach_session_notes_html` string
    - `coach_session_notes_updated_at` string, date-time, nullable
    - `coach_present` boolean: MED-952 — true when any assigned coach has been seen within the presence freshness window. Drives the participant "coach stepped away" notice (false ⇒ shown). On the coach's own view this is effectively always true while polling.
    - `participants` ActiveSessionParticipant[]
      - `user_id` string, uuid
      - `display_name` string
      - `initials` string
      - `is_connected` boolean: Presence stub — full realtime presence ships with MED-804 (always false in this story).

## Other responses

- `400`: Bad body
- `401`: Unauthorized
- `403`: Coach not authorized for this session/group
- `404`: Session not found OR live_session_delivery flag off
- `409`: SESSION_INVALID_STATE — session not in_progress

---

[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)
