---
title: "Record the coach's RSVP for this session (AC2)"
method: PUT
path: "/api/coach/sessions/{sessionId}/rsvp"
tags: ["Coach Session Prep"]
---

# Record the coach's RSVP for this session (AC2)

`PUT /api/coach/sessions/{sessionId}/rsvp`

## Request

- Base URL: `https://api.production.yourmedley.com`
- URL: `https://api.production.yourmedley.com/api/coach/sessions/{sessionId}/rsvp`
- Auth: none declared

Records the coach's RSVP. A declined RSVP becomes the trigger for
Story E4.0 reassignment (IV5) — this endpoint stores the declined
state and the index `idx_coach_session_prep_declined` makes the
declined set discoverable for the downstream service when it ships.

## Path parameters

- `sessionId` string, uuid, required

## Request body

- object
  - `status` 'accepted' | 'declined' | 'tentative', required
  - `decline_reason` string: Optional. Only meaningful when status=declined.

## Response `200`

Updated prep state

## Other responses

- `400`: Invalid status
- `401`: Unauthorized
- `403`: Not assigned / not coach-led
- `404`: Session not found
- `410`: Session is live

---

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