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

# Portfolio

## Endpoint

```text theme={null}
POST /portfolio
```

## Request Body

| Parameter | Type   | Description                                                 |
| --------- | ------ | ----------------------------------------------------------- |
| `user`\*  | string | User wallet address                                         |
| `period`  | string | One of `perpDay`, `perpWeek`, `perpMonth`, or `perpAllTime` |

## Response

```json theme={null}
{
  "accountValueHistory": [[1702512000000, "10000.00"]],
  "pnlHistory": [[1702512000000, "0.00"]],
  "vlm": "0",
  "status": "ok",
  "warnings": [
    {
      "asset": "BTC",
      "assetId": "00020000",
      "timestamp": 1702515600000,
      "type": "perp",
      "reason": "No price data available for timestamp"
    }
  ]
}
```

### Response Fields

| Field                 | Type                   | Description                                                         |
| --------------------- | ---------------------- | ------------------------------------------------------------------- |
| `accountValueHistory` | array                  | `[timestamp, value]` points for account value history               |
| `pnlHistory`          | array                  | `[timestamp, value]` points for cumulative PnL history              |
| `vlm`                 | string                 | Reserved field, currently `"0"`                                     |
| `status`              | `"ok"` \| `"degraded"` | `degraded` means some history points were computed with warnings    |
| `warnings`            | array                  | Missing-price warnings encountered during historical reconstruction |

## Notes

<Note>
  * Default period is `perpWeek`. - `vlm` is currently reserved and returns `"0"`. - If the price
    aggregator is unavailable, the handler returns empty histories with `status: "ok"`. - `status:
      "degraded"` indicates the response is usable but one or more price lookups emitted warnings.
</Note>
