API Reference

TradeMind AI API

REST API for programmatic access to signals, history, portfolio, and webhook integration. All endpoints return JSON. Timestamps are UTC.

Base URL: https://trademindai.com/api Pro plan required

Authentication

All endpoints require a Bearer token obtained from /users/login. Pass it in every request header:

Authorization: Bearer <your_token>

POST /users/login

{
  "email": "you@example.com",
  "password": "yourpassword"
}

// Response
{
  "access_token": "eyJ...",
  "token_type": "bearer"
}

Signals

GET/signals/live— latest open signals
curl -H "Authorization: Bearer <token>" \
  https://trademindai.com/api/signals/live

// Response
[
  {
    "id": "abc123",
    "ticker": "AAPL",
    "direction": "BULLISH",
    "entry_price": 182.40,
    "stop_price": 175.00,
    "target_price": 196.00,
    "confidence_score": 78,
    "r_multiple": null,
    "outcome_status": "PENDING",
    "issued_at": "2026-03-20T07:12:00Z",
    "locked_at": "2026-03-20T07:12:00Z"
  }
]
GET/signals/history— resolved signal history
curl -H "Authorization: Bearer <token>" \
  "https://trademindai.com/api/signals/history?page=1&limit=20"

// Query params: page (int), limit (int, max 100)
// Returns signals ordered by issued_at DESC
GET/signals/{id}— single signal by ID
curl -H "Authorization: Bearer <token>" \
  https://trademindai.com/api/signals/abc123
POST/signals/generate— generate a new AI signal
curl -X POST -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"ticker": "AAPL"}' \
  https://trademindai.com/api/signals/generate

// On success (200): returns signal object
// On no-signal (404): {"detail": "NO_SIGNAL: <reason>"}

Performance

GET/performance/summary
curl -H "Authorization: Bearer <token>" \
  "https://trademindai.com/api/performance/summary?days=30"

// days: 30 | 60 | 90
{
  "total_signals": 47,
  "closed_signals": 38,
  "win_rate": 63.2,
  "avg_r": 0.82,
  "total_r": 31.2,
  "largest_win_r": 3.4,
  "largest_loss_r": -1.0
}
GET/performance/equity-curve— cumulative R over time
GET/performance/leaderboard— top signals, hall of fame

Webhook Integration

Pro users can configure a webhook URL in Account Settings. TradeMind AI sends a POST request to your URL whenever a new signal is generated for you.

Webhook payload

// POST <your-webhook-url>
// Content-Type: application/json

{
  "event": "signal.created",
  "signal": {
    "id": "abc123",
    "ticker": "AAPL",
    "direction": "BULLISH",
    "entry_price": 182.40,
    "stop_price": 175.00,
    "target_price": 196.00,
    "confidence_score": 78,
    "drivers": ["RSI oversold at 31", "Support at $182", "..."],
    "issued_at": "2026-03-20T07:12:00Z",
    "url": "https://trademindai.com/signals/abc123"
  }
}

Set webhook URL

curl -X PUT -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"webhook_url": "https://your-server.com/hook"}' \
  https://trademindai.com/users/webhook

Test webhook

curl -X POST -H "Authorization: Bearer <token>" \
  https://trademindai.com/users/webhook/test

Use webhook.site to test your endpoint. Webhooks can trigger any downstream automation — Zapier, Make, or your own broker integration.

Rate limits

  • Signal generation: 5/day (Free) · 15/day (Starter) · 50/day (Pro)
  • History / performance reads: 60 requests/minute
  • Stock analysis: counted toward daily AI quota
Need help? Email support@trademindai.com