---
title: "Promote Session"
method: POST
path: "/api/v1/graduation/{session_id}/promote"
tags: ["graduation"]
---

# Promote Session

`POST /api/v1/graduation/{session_id}/promote`

Manually promote a session to the next graduation stage.

Args:
    session_id: Session to promote.
    body: Promotion reason and who initiated it.

Returns:
    JSON with ``from_stage``, ``to_stage``, and ``promoted: true``.

Raises:
    HTTPException: 404 when no record exists.
    HTTPException: 409 when already at the terminal (autonomous) stage.

## Path parameters

- `session_id` string, required

## Request body

- PromoteRequest — Request body for a manual promotion to the next stage. Attributes: reason: Human-readable reason for the promotion. promoted_by: Who triggered the promotion (operator name or ID).
  - `reason` string
  - `promoted_by` string

## Response `200`

Successful Response

- unknown

## Other responses

- `404` — No graduation record for session
- `409` — Already at terminal stage
- `422` — Validation Error

---

[API](https://skmtc.net/sipyourdrink-ltd/apis/bernstein-task-server.md) · [All operations](https://skmtc.net/sipyourdrink-ltd/apis/bernstein-task-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sipyourdrink-ltd/bernstein-task-server/versions/86f514b4e920/schema)
