Bot Reports
Updated Jul 11, 2026
GET
/v1/bots/reports
Get a single bot report or a list of all reports Auth Required: Read Reports
Path parameters
| number | string | Unique identifier for a specific report to retrieve. If omitted, all reports will be returned. If you do request a single report, you will receive more detailed results info for that report. |
Header parameters
| API Token | string | required | Token from your Whispertrades account |
curl -X GET "https://api.whispertrades.com/v1/bots/reports" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "API Token: example"
const response = await fetch("https://api.whispertrades.com/v1/bots/reports", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"API Token": "example"
}
});
const data = await response.json();
console.log(data);
fetch("https://api.whispertrades.com/v1/bots/reports", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"API Token": "example"
}
})
.then((response) => response.json())
.then((data) => console.log(data));
import requests
response = requests.get(
"https://api.whispertrades.com/v1/bots/reports",
headers={
"Authorization": "Bearer YOUR_TOKEN",
"API Token": "example"
},
)
data = response.json()
print(data)
Response · 200
{
"success": true,
"message": "",
"data": {
"number": "YON0KAJSSM",
"name": "All Bots MTD",
"status": "Complete",
"completed_at": "2023-10-04T20:59:41.000000Z",
"start_date": "2023-10-01",
"end_date": "2023-10-04",
"run_until_latest_date": true,
"is_public": false,
"symbol": "SPXW",
"nlv_source": "Actual NLV",
"nlv_amount": null,
"bot_statuses": [],
"brokers": [
{
"number": "1Z4XYBHX34",
"account_number": "194029194",
"name": "Personal"
},
{
"number": "HDJAKWIFQZ",
"account_number": "940195901",
"name": "Roth IRA"
}
],
"bots": [],
"bot_tags": [],
"bot_position_tags": [],
"results": {
"total_trades": 18,
"winning_trades": 14,
"losing_trades": 4,
"win_percent": "77.78",
"starting_net_liquidation_value": "578123.25",
"ending_net_liquidation_value": "581281.25",
"average_gain": 485,
"average_win": 848,
"average_loss": -750,
"broker_fees": "48.79",
"premium_collected": "19416.22",
"premium_retained": "2974.53",
"premium_retained_percent": "15.32",
"total_return_dollars": "2974.53",
"total_return_percent": "0.51",
"max_drawdown_dollars": "-1736.06",
"max_drawdown_percent": "-2.99",
"max_drawdown_days": 1,
"cagr": "61.60",
"sharpe": "2.00",
"sortino": "1.41",
"mar": "20.6",
"annualized_volatility": "23.4",
"correlation": "0.26",
"beta": "0.31",
"underlying_total_return_percent": "0.31",
"underlying_max_drawdown_percent": "-1.43",
"underlying_max_drawdown_days": 2,
"underlying_cagr": "58.3",
"underlying_sharpe": "1.58",
"underlying_sortino": "1.72",
"underlying_mar": "40.7",
"underlying_annualized_volatility": "19.5",
"bots": [
{
"name": "Monday 0 DTE PCS 9:31am Traditional",
"number": "5CCOULKAM",
"total_trades": 4,
"winning_trades": 4,
"losing_trades": 0,
"win_percent": "100.00",
"average_entry_price": "2.89",
"average_exit_price": "0.05",
"average_profit_price": "2.84",
"average_gain": "1126.96",
"average_win": "1126.96",
"average_loss": "0.00",
"premium_collected": "4620.00",
"premium_retained": "4507.84",
"premium_retained_percent": "97.57",
"total_profit": "4507.84"
},
{
"name": "XSP 30 Quantity Test CCS",
"number": "0WSQIFNJOP",
"total_trades": 7,
"winning_trades": 6,
"losing_trades": 1,
"win_percent": "85.71",
"average_entry_price": "0.25",
"average_exit_price": "0.14",
"average_profit_price": "0.11",
"average_gain": "399.95",
"average_win": "962.02",
"average_loss": "-2972.48",
"premium_collected": "7770.00",
"premium_retained": "2799.66",
"premium_retained_percent": "36.03",
"total_profit": "2799.66"
},
{
"name": "XSP 30 Quantity Test PCS",
"number": "ADALFVNIZO",
"total_trades": 7,
"winning_trades": 4,
"losing_trades": 3,
"win_percent": "57.14",
"average_entry_price": "0.23",
"average_exit_price": "0.34",
"average_profit_price": "-0.11",
"average_gain": "-619.00",
"average_win": "954.46",
"average_loss": "-2716.94",
"premium_collected": "7026.22",
"premium_retained": "-4332.97",
"premium_retained_percent": "-61.67",
"total_profit": "-4332.97"
},
],
"years": {
"2023": {
"months": {
"October": {
"date": "2023-10-01",
"starting_net_liquidation_value": "578123.25",
"ending_net_liquidation_value": "581281.25",
"total_trades": 18,
"winning_trades": 14,
"losing_trades": 4,
"win_percent": "77.78",
"broker_fees": "48.79",
"total_return_dollars": "2974.53",
"total_return_percent": "0.51",
"max_drawdown_dollars": "-1736.06",
"max_drawdown_percent": "-2.99",
"underlying_total_return_percent": "0.31",
"underlying_max_drawdown_percent": "-1.43"
}
},
"date": "2023-10-04",
"starting_net_liquidation_value": "578123.25",
"ending_net_liquidation_value": "581281.25",
"total_trades": 18,
"winning_trades": 14,
"losing_trades": 4,
"win_percent": "77.78",
"broker_fees": "48.79",
"total_return_dollars": "2974.53",
"total_return_percent": "0.51",
"max_drawdown_dollars": "-1736.06",
"max_drawdown_percent": "-2.99",
"underlying_total_return_percent": "0.31",
"underlying_max_drawdown_percent": "-1.43"
}
},
"days": [
{
"date": "2023-10-04",
"profit": "1051.36",
"day_return_percent": "1.1035",
"total_return_percent": "0.51",
"current_drawdown_dollars": "0.00",
"current_drawdown_percent": "0.00",
"underlying_day_return_percent": "0.8100",
"underlying_total_return_percent": "0.31",
"underlying_current_drawdown_days": 1,
"underlying_current_drawdown_percent": "-1.43"
}
]
}
}
}
PUT
/v1/bots/reports
Change a bot report name or date range Auth Required: Write Reports
Path parameters
| number | string | required | Report number to update |
Header parameters
| API Token | string | required | Token from your Whispertrades account |
curl -X PUT "https://api.whispertrades.com/v1/bots/reports" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "API Token: example"
const response = await fetch("https://api.whispertrades.com/v1/bots/reports", {
method: "PUT",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"API Token": "example"
}
});
const data = await response.json();
console.log(data);
fetch("https://api.whispertrades.com/v1/bots/reports", {
method: "PUT",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"API Token": "example"
}
})
.then((response) => response.json())
.then((data) => console.log(data));
import requests
response = requests.put(
"https://api.whispertrades.com/v1/bots/reports",
headers={
"Authorization": "Bearer YOUR_TOKEN",
"API Token": "example"
},
)
data = response.json()
print(data)
Response · 200
{
"success": true,
"message": "Updated report",
"data": {
"number": "QV4JL2N2I4",
"name": "WTD IRA",
"status": "Draft",
"completed_at": null,
"start_date": "2023-10-03",
"end_date": "2022-10-06",
"run_until_latest_date": true,
"is_public": false,
"symbol": "SPXW",
"nlv_source": "Actual NLV",
"nlv_amount": null,
"bot_statuses": [
"Enabled",
],
"brokers": [
{
"number": "NLIKALWOMN",
"account_number": "40501918",
"name": "IRA"
},
],
"bots": [
{
"number": "FWODFNKAK2",
"name": "TSLA 5 Delta Naked Put"
},
{
"number": "AOQY5OMDEI",
"name": "0 DTE Put Spread"
}
],
"bot_tags": [
"Report demo"
],
"bot_position_tags": [],
"results": {
"bots": [],
"years": [],
"days": []
}
}
}
PUT
/v1/bots/reports/{number}/run
Run/refresh a report using its current configuration. The API will only accept a run request once every 10 minutes per bot report. Auth Required: Write Reports
Path parameters
| number | string | required | Report number to run |
Header parameters
| Authorization Token | string | required | Token from your Whispertrades account |
curl -X PUT "https://api.whispertrades.com/v1/bots/reports/example/run" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Authorization Token: example"
const response = await fetch("https://api.whispertrades.com/v1/bots/reports/example/run", {
method: "PUT",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Authorization Token": "example"
}
});
const data = await response.json();
console.log(data);
fetch("https://api.whispertrades.com/v1/bots/reports/example/run", {
method: "PUT",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Authorization Token": "example"
}
})
.then((response) => response.json())
.then((data) => console.log(data));
import requests
response = requests.put(
"https://api.whispertrades.com/v1/bots/reports/example/run",
headers={
"Authorization": "Bearer YOUR_TOKEN",
"Authorization Token": "example"
},
)
data = response.json()
print(data)
Response · 200
{
"success": true,
"message": "Running report"
}