---
title: "Get Pnl Summary"
method: GET
path: "/api/performance/pnl-summary"
tags: ["Performance"]
---

# Get Pnl Summary

`GET /api/performance/pnl-summary`

## Request

- Base URL: `https://alpha-bazaar-signal-server.onrender.com`
- URL: `https://alpha-bazaar-signal-server.onrender.com/api/performance/pnl-summary`
- Auth: HTTP bearer

Get aggregated P&L summary for the authenticated publisher.

Returns realized P&L on closed signals, unrealized P&L on open positions,
win/loss stats, and the individual signal breakdowns.

## Response `200`

Successful Response

- PnlSummaryResponse: GET /api/performance/pnl-summary
  - `status` string, required
  - `total_signals` integer, required
  - `open_signals` integer, required
  - `closed_signals` integer, required
  - `total_realized_pnl_percent` number, nullable
  - `total_unrealized_pnl_percent` number, nullable
  - `avg_return_percent` number, nullable
  - `win_rate` number, nullable
  - `wins` integer
  - `losses` integer
  - `best_trade` PnlSignalSummary
    - `signal_id` string, required
    - `ticker` string, required
    - `action` string, required
    - `entry_price` number, nullable
    - `exit_price` number, nullable
    - `current_price` number, nullable
    - `pnl_percent` number, nullable
    - `pnl_dollars` number, nullable
    - `position_size_percent` number, nullable
    - `status` string, required
    - `close_reason` string, nullable
    - `opened_at` string, nullable
    - `closed_at` string, nullable
  - `worst_trade` PnlSignalSummary
    - `signal_id` string, required
    - `ticker` string, required
    - `action` string, required
    - `entry_price` number, nullable
    - `exit_price` number, nullable
    - `current_price` number, nullable
    - `pnl_percent` number, nullable
    - `pnl_dollars` number, nullable
    - `position_size_percent` number, nullable
    - `status` string, required
    - `close_reason` string, nullable
    - `opened_at` string, nullable
    - `closed_at` string, nullable
  - `open_positions` PnlSignalSummary[]
    - `signal_id` string, required
    - `ticker` string, required
    - `action` string, required
    - `entry_price` number, nullable
    - `exit_price` number, nullable
    - `current_price` number, nullable
    - `pnl_percent` number, nullable
    - `pnl_dollars` number, nullable
    - `position_size_percent` number, nullable
    - `status` string, required
    - `close_reason` string, nullable
    - `opened_at` string, nullable
    - `closed_at` string, nullable
  - `closed_positions` PnlSignalSummary[]
    - `signal_id` string, required
    - `ticker` string, required
    - `action` string, required
    - `entry_price` number, nullable
    - `exit_price` number, nullable
    - `current_price` number, nullable
    - `pnl_percent` number, nullable
    - `pnl_dollars` number, nullable
    - `position_size_percent` number, nullable
    - `status` string, required
    - `close_reason` string, nullable
    - `opened_at` string, nullable
    - `closed_at` string, nullable

---

[API](https://skmtc.dev/alphabazaar/apis/alpha-bazaar-signal-server.md) · [All operations](https://skmtc.dev/alphabazaar/apis/alpha-bazaar-signal-server/llms.txt) · [OpenAPI document](https://skmtc.dev/alphabazaar/apis/alpha-bazaar-signal-server/revisions/01654ec03d07?raw)
