---
title: "Paper Trading Status"
method: GET
path: "/paper-trading"
---

# Paper Trading Status

`GET /paper-trading`

## Request

- Base URL: `https://api.pruviq.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pruviq.com/paper-trading`
- Auth: none declared

Current PRUVIQ paper-trading portfolio state.

Reads the cycle file the daily paper-trading job writes. No simulation runs
inside this request — it's a JSON read of the most recent state.

Query:
    cycle: optional cycle id (e.g. 1). Defaults to the latest.

Response shape (when a cycle exists):
    {
        "cycle_id": 1,
        "cycle_status": "active",
        "cycle_day": 14,
        "cycle_length_days": 30,
        "start_date": "2026-04-16",
        "starting_capital": 1000.0,
        "current_equity": 1247.50,
        "total_return_pct": 24.75,
        "yesterday_pnl": 21.30,
        "open_positions": [...],
        "closed_positions": [...],     # most recent 20
        "history": [{"date", "equity", "open_count", "closed_count"}, ...],
        ...
    }

When no cycle exists, returns 404 — callers should treat that as "not
initialized yet" rather than "feature off".

## Query parameters

- `cycle` integer, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/pruviq/apis/pruviq-simulation-api.md) · [All operations](https://skmtc.dev/pruviq/apis/pruviq-simulation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pruviq/apis/pruviq-simulation-api/revisions/972384919a74?raw)
