---
title: "Create Session From Chat"
method: POST
path: "/student-practice/session-from-chat"
tags: ["student_practice"]
---

# Create Session From Chat

`POST /student-practice/session-from-chat`

Materialise une session proposée par le chat ("cette session te tente ?").

Deux types d'items, mixables dans l'ordre d'origine :
- référence bibliothèque (`exercise_id`) : l'id est vérifié (existence +
  gating library, ou existence côté `annales_exercises`) puis référencé
  tel quel dans la session — pas de copie ; le rendu de session résout
  déjà les deux collections (même pattern que le picker d'annales) ;
- exercice inline rédigé par l'assistant : stocké comme row
  `public_exercises` en library "remediation" (même pattern que la
  remédiation IA — exclus des pickers par `library_filter_for`).
Une ExerciseSession self_practice est créée sur le tout.

## Request body

- SessionFromChatRequest
  - `title` string, nullable
  - `subject` 'maths' | 'physique-chimie', nullable
  - `exercises` ChatSessionExerciseIn[], required
    - `exercise_id` string, nullable
    - `enonce` string
    - `solution` string

## Response `200`

Successful Response

- SessionFromChatResponse
  - `session_id` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/excellence-ai/apis/excellence-learning.md) · [All operations](https://skmtc.dev/excellence-ai/apis/excellence-learning/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/excellence-ai/excellence-learning/revisions/8d495ed916c6/schema)
