Appearance
Are you an LLM? You can read better optimized documentation at /api/changelog.md for this page in Markdown format
API Changelog
Additive changes (new optional fields, new endpoints) ship without a version bump. Breaking changes increment the version path (/api/v2).
2026-06-09
Added signal provenance to /positions and all SSE events
Every position returned by GET /api/v1/positions and every SSE event now carries a nested signal sub-object identifying the Telegram message that originated the trade:
json
{
"signal": {
"signal_id": "f3c1a2b4-uuid",
"telegram_message_id": 12345
}
}signal is null when the trade has no signal FK, the signal was soft-deleted, or the SSE event fired before the watchdog cache was populated. For breakeven_set events, signal is always null (the event carries only a DB position UUID, which is not the lookup key the watchdog uses).
Bots that correlate trade activity to channel posts no longer need a side-table join.
Affected: GET /api/v1/positions (each Position object), and the following SSE event types: position_update, position_closed, tp_hit, trade_executed, trade_finalized, breakeven_failed, order_fill.
Source: ttmt-frontend f3f4e1bc, ttmt-user-service 91cc4de…a02baf4.
2026-06-08
Initial release
Power-User Read-Only API merged to develop. Nine GET endpoints at /api/v1/*, per-user opaque API keys, cursor pagination, RFC 9457 error responses, and SSE live stream.

