{"format":"opendoc-document","version":1,"url":"https://docs.storm.tg/developers/operations/gettraderpnlhistory","title":"Get trader PnL history","description":"GET /api/trader-stats/{trader}/pnl-history: Get trader PnL history","kind":"api-operation","locale":"en","inLanguage":"en","lastModified":"2026-10-09T14:26:32+03:00","revision":"d36475e7b456c737fae6933fa27b7e1bc2687f2c19291b05725ab2c4e8f79d7a","section":{"title":"For Developers","url":"https://docs.storm.tg/developers"},"representations":{"html":"https://docs.storm.tg/developers/operations/gettraderpnlhistory","markdown":"https://docs.storm.tg/developers/operations/gettraderpnlhistory.md","json":"https://docs.storm.tg/developers/operations/gettraderpnlhistory.json"},"translations":{"en":"https://docs.storm.tg/developers/operations/gettraderpnlhistory"},"operation":{"id":"GetTraderPnlHistory","method":"GET","path":"/api/trader-stats/{trader}/pnl-history","summary":"Get trader PnL history","tags":["Trader statistics"],"deprecated":false,"parameters":[{"name":"trader","location":"path","schema":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"type":"string","required":true,"example":"string"},{"name":"period","location":"query","schema":{"type":"number · nullable","types":["number"],"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"type":"number · nullable","required":false,"example":"0"}],"bodies":[],"responses":[{"status":"200","description":"Response","mediaType":"application/json","properties":[],"schema":{"type":"object[]","types":["array"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"object","types":["object"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"timestamp","type":"string · date-time","required":true,"example":"2026-01-01T00:00:00Z","schema":{"type":"string · date-time","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"totalPnl","type":"string","required":true,"example":"string","schema":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"trader","type":"string","required":true,"example":"string","schema":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]},"variants":[]},"example":"[\n  {\n    \"timestamp\": \"2026-01-01T00:00:00Z\",\n    \"totalPnl\": \"string\",\n    \"trader\": \"string\"\n  }\n]","headers":[]}],"security":[],"codeSamples":[{"label":"cURL","language":"bash","source":"curl --request GET 'https://api.storm.tg/api/trader-stats/{trader}/pnl-history' \\\n  --header 'Accept: application/json'"},{"label":"JavaScript","language":"javascript","source":"const response = await fetch(\"https://api.storm.tg/api/trader-stats/{trader}/pnl-history\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\"\n  },\n});\nconsole.log(response.status, await response.text());"},{"label":"Python","language":"python","source":"import requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.storm.tg/api/trader-stats/{trader}/pnl-history\",\n    headers={\"Accept\":\"application/json\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)"}]},"breadcrumbs":[{"title":"⚡ About Storm Trade","url":"https://docs.storm.tg"},{"title":"For Developers","url":"https://docs.storm.tg/developers"},{"title":"Get trader PnL history","url":"https://docs.storm.tg/developers/operations/gettraderpnlhistory"}],"headings":[{"depth":2,"id":"parameters","title":"Parameters"},{"depth":2,"id":"examples","title":"Examples"},{"depth":2,"id":"responses","title":"Responses"}],"markdown":"# Get trader PnL history\n\n`GET /api/trader-stats/{trader}/pnl-history`\n\n## Authorization\n\n\n\n## Parameters\n\n- path: trader (string; required). \n\nType: string\n\n- query: period (number · nullable; optional). \n\nType: number · nullable\n\n## Example · cURL\n\n```bash\ncurl --request GET 'https://api.storm.tg/api/trader-stats/{trader}/pnl-history' \\\n  --header 'Accept: application/json'\n```\n\n## Example · JavaScript\n\n```javascript\nconst response = await fetch(\"https://api.storm.tg/api/trader-stats/{trader}/pnl-history\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\"\n  },\n});\nconsole.log(response.status, await response.text());\n```\n\n## Example · Python\n\n```python\nimport requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.storm.tg/api/trader-stats/{trader}/pnl-history\",\n    headers={\"Accept\":\"application/json\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)\n```\n\n## Response 200\n\n**200** application/json — Response\n\nType: object[]\n\n[]Type: object\n\n[]Required fields: timestamp, totalPnl, trader\n\n[]Required field types: timestamp (string · date-time; required), totalPnl (string; required), trader (string; required)\n\n- []timestamp (string · date-time; required)\n\n[]timestamp example: 2026-01-01T00:00:00Z\n\n[]timestamp.Type: string · date-time\n\n[]timestamp.format: date-time\n\n- []totalPnl (string; required)\n\n[]totalPnl example: string\n\n[]totalPnl.Type: string\n\n- []trader (string; required)\n\n[]trader example: string\n\n[]trader.Type: string\n\nExample\n\n\n\n```json\n[\n  {\n    \"timestamp\": \"2026-01-01T00:00:00Z\",\n    \"totalPnl\": \"string\",\n    \"trader\": \"string\"\n  }\n]\n```","text":"Get trader PnL history GET /api/trader-stats/{trader}/pnl-history Trader statistics trader string period number · nullable 200 Response","api":{"title":"Storm API reference","version":"3.0","documentation":"https://docs.storm.tg/developers/overview","playgroundServer":"https://api.storm.tg"}}