---
title: "Reconcile Pnl Endpoint"
method: POST
path: "/api/admin/auto-trader/reconcile-pnl"
tags: ["admin-auto-trader"]
---

# Reconcile Pnl Endpoint

`POST /api/admin/auto-trader/reconcile-pnl`

## Request

- Base URL: `https://api.equity-rank.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.equity-rank.com/api/admin/auto-trader/reconcile-pnl`
- Auth: HTTP bearer

Reconcile auto-trader open positions against live Schwab positions.

Updates pnl_dollars / pnl_pct for open positions still in Schwab.
Marks outcome='closed' + exit_date for positions no longer in Schwab.

No-op in paper mode. Requires live mode + valid Schwab token.

## Query parameters

- `account_hash` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/equity-rank/apis/equity-rank-api.md) · [All operations](https://skmtc.dev/equity-rank/apis/equity-rank-api/llms.txt) · [OpenAPI document](https://skmtc.dev/equity-rank/apis/equity-rank-api/revisions/c2f2463fee33?raw)
