> ## Documentation Index
> Fetch the complete documentation index at: https://docs.autosnap.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Prewarm Session

> Poll a prewarm session to see which VINs are ready.

`GET /v1/sessions/{session_id}`

Reports per-VIN progress for a session created with
[`POST /v1/sessions`](/api-reference/endpoints/create-prewarm-session).

```bash theme={null}
curl "https://api.autosnap.com/v1/sessions/77a05ade81f344fbbf231ddb00f6ca98" \
  -H "X-API-Key: $AUTOSNAP_API_KEY"
```

```json theme={null}
{
  "success": true,
  "session_id": "77a05ade81f344fbbf231ddb00f6ca98",
  "dealership_id": 2119,
  "created_at": "2026-09-24T15:18:12Z",
  "ttl_s": 600,
  "vin_count": 1,
  "status_counts": { "done": 1 },
  "vins": [
    {
      "vin": "5YM33CS04V9600257",
      "status": "done",
      "source": "live",
      "cached_reason": null,
      "fetch_ms": 108,
      "observed_at": "2026-09-24T15:18:12Z"
    }
  ]
}
```

## Per-VIN status

| `status`   | meaning                                                                        |
| ---------- | ------------------------------------------------------------------------------ |
| `fetching` | still in flight                                                                |
| `done`     | finished; `source` says what it produced                                       |
| `failed`   | the fetch did not produce a storable outcome — nothing was warmed for this VIN |

`source` on a `done` VIN is `live` or `gone`; those are the only outcomes that get stored.
A VIN that ends `failed` carries a `cached_reason` explaining why, and the next `/live`
call for it will fetch normally.

`status_counts` is the quick read — poll until `fetching` reaches zero, or just start
calling `/live` and let the warm ones answer fast.

## Errors

| status | when                                                 |
| ------ | ---------------------------------------------------- |
| `404`  | unknown session id, or the session's TTL has expired |
| `403`  | the session belongs to a different API key           |
