---
title: "Send the peer-leader-authored recap email (AC14)"
method: POST
path: "/api/participant/sessions/{sessionId}/post-session/recap-email/send"
tags: ["Peer Leader Post-Session"]
---

# Send the peer-leader-authored recap email (AC14)

`POST /api/participant/sessions/{sessionId}/post-session/recap-email/send`

## Request

- Base URL: `https://api.production.yourmedley.com`
- URL: `https://api.production.yourmedley.com/api/participant/sessions/{sessionId}/post-session/recap-email/send`
- Auth: none declared

Recipients are intersected with the session group's current members
server-side; non-members are dropped (`skipped_not_in_session`).
Subject and body_html are templates — merge tags resolve per recipient
inside `EmailService.sendCoachRecapEmail` which accepts a dynamic
leader name (so "coach" semantics are abstracted).

## Path parameters

- `sessionId` string, uuid, required

## Request body

- object
  - `subject` string, required
  - `body_html` string, required
  - `recipient_user_ids` string[], required

## Response `200`

Send complete

- object
  - `success` boolean
  - `data` PeerLeaderRecapEmailSendResult
    - `sent` integer
    - `failed` integer
    - `skipped_not_in_session` integer

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `403`: Caller is not the peer leader or session not eligible
- `404`: Session not found
- `500`: Server error

---

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