---
title: "Get Auto Router Session"
method: GET
path: "/auto_router/session"
tags: ["auto router"]
---

# Get Auto Router Session

`GET /auto_router/session`

## Request

- Base URL: `https://api.sea-lion.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sea-lion.ai/auto_router/session`
- Auth: API key in header `x-litellm-api-key`

One auto-routed session, for the key that ran it: the model its last turn was routed to and the
session's spend against the router's savings baseline. Built for a coding agent's status line
or stop hook, so any virtual key may call it and only ever sees rows written under its own
key hash. Reads the LiteLLM_AutoRouterSession rollup, which the asynchronous spend flush
fills a moment after each turn; a session with no flushed auto-routed turn yet is a 404. The
id is bounded the way the writer bounded it, so an oversized client id still finds its row.

## Query parameters

- `session_id` string, required: The client session id (x-*-session-id header) the turns were sent under

## Response `200`

Successful Response

- AutoRouterSessionResponse: One auto-routed session as its own key sees it: what the last turn ran on, and what the session cost against the router's savings baseline (the priciest model in its hardest tier).
  - `session_id` string, required
  - `router_name` string, required: The auto-router alias the session's requests were sent to
  - `router_type` string, required: complexity, adaptive or quality
  - `turns` integer, required: Auto-routed turns the rollup has recorded for this session so far
  - `last_model` string, required: The deployment model the most recent turn was routed to
  - `spend` number, required: What the session's routed traffic actually cost, classifier calls included
  - `savings_estimated_turns` integer, required: Requests whose savings estimate recorded its baseline cost
  - `savings_estimated_actual_spend` number, required: Actual spend, including classifier cost, for requests whose estimate recorded its baseline cost
  - `saved_spend` number, nullable, required: Recorded historical savings plus newer estimates, net of classifier cost
  - `baseline_spend` number, nullable, required: Estimated single-model cost: spend plus recorded savings
  - `savings_estimated_baseline_spend` number, nullable, required: Estimated single-model cost for requests whose estimate recorded its baseline cost
  - `baseline_model` string, nullable, required: The savings baseline recorded by most session turns, including historical turns, recorded turn by turn, so it still names the counterfactual after the router is reconfigured or removed. None when no turn recorded one: rows from before the baseline was recorded, and adaptive and quality routers, which derive no baseline and so report no savings
  - `baseline_models` object, required: Session turns recording each baseline model; more than one entry means the router's baseline changed mid-session; these counts do not imply savings coverage

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-21** `f2fb14eab3f5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sea-lion/apis/litellm-api/changes/auto_router/session/get.md)

---

[API](https://skmtc.dev/sea-lion/apis/litellm-api.md) · [All operations](https://skmtc.dev/sea-lion/apis/litellm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sea-lion/apis/litellm-api/revisions/1ba9123c189a?raw)
