---
title: "Serve Practice Portfolio"
method: GET
path: "/practice/portfolio"
---

# Serve Practice Portfolio

`GET /practice/portfolio`

## Request

- Base URL: `https://www.oxfordledge.com` (the document declares no server; this is the origin it was published from)
- URL: `https://www.oxfordledge.com/practice/portfolio`
- Auth: none declared

SSR shell for the authenticated paper-portfolio view.

SF-7-prime sub-phase 7P-B (2026-05-06). Plan:
docs/plans/SF7_PRIME_PAPER_TRADING_SANDBOX.md.

Auth check happens client-side: the page itself is a public shell
(noindex per <meta robots>); the data behind /api/paper/portfolio
is auth-gated. An anonymous user landing here sees the bootstrap
form -> click triggers a signin redirect from the API call.

No-cache: per-user data + auth-state-dependent UI. Don't let a
middlebox cache the SSR shell with stale auth-state markers.

## Response `200`

Successful Response

---

[API](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api.md) · [All operations](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/revisions/e832a1260f0b?raw)
