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

# Promote Session

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

## Request

- Base URL: `http://127.0.0.1:8052`
- URL: `http://127.0.0.1:8052/api/v1/graduation/{session_id}/promote`
- Auth: none declared

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.dev/bernstein/apis/bernstein-task-server.md) · [All operations](https://skmtc.dev/bernstein/apis/bernstein-task-server/llms.txt) · [OpenAPI document](https://skmtc.dev/bernstein/apis/bernstein-task-server/revisions/2a20a34ad2eb?raw)
