---
title: "Submit the participant's feedback (AC5)"
method: POST
path: "/api/participant/sessions/{sessionId}/post-session/feedback/submit"
tags: ["Participant Post-Session"]
---

# Submit the participant's feedback (AC5)

`POST /api/participant/sessions/{sessionId}/post-session/feedback/submit`

## Request

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

Flips the row to status='submitted', stamps submitted_at, and locks
the feedback (AC5). Phase 1 is one-way — subsequent draft writes on
this row return 409 FEEDBACK_LOCKED.

satisfaction_rating is REQUIRED at submission time. Text fields
fall back to empty string if omitted.

## Path parameters

- `sessionId` string, uuid, required

## Request body

- SubmitFeedbackRequest
  - `satisfaction_rating` integer, required
  - `what_landed` string
  - `what_still_alive` string
  - `what_for_next` string

## Response `200`

Submitted feedback payload

- object
  - `success` boolean
  - `data` 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

## Other responses

- `400`: satisfaction_rating missing or out of 1-5 range
- `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)
