REST API Reference
Full JSON REST API under /api/*. Cookie-based authentication. 15 resource groups. /api/*.
POST /api/loginPOST /api/registerPOST /api/password/emailPOST /api/password/resetPOST /api/two-factor-challengeGET /api/userCookie-based authentication. GET /sanctum/csrf-cookie before first write.
PUT /api/user-profile/profilePUT /api/user-profile/passwordGET /api/user-profile/sessionsPOST /api/user-profile/logout-other-sessionsDELETE /api/user-profileDELETE /api/user-profile/profile-photoProfile management - name, email, photo, password, sessions, and account deletion.
GET/POST /api/user/preferencesGET/POST /api/user/settingsGET/POST /api/user/onboardingOrder defaults, risk limits, feature toggles, and onboarding state.
GET /api/knowledge-baseGET /api/knowledge-base/{slug}16 articles. Filter by area or full-text q param. Returns { data: Article[] }.
GET /api/marketsGET /api/markets/{id}GET /api/tickersGET /api/tickers/{symbol}GET /api/market-calendarPOST /api/market-balanceGET /api/newsGET /api/popular-newsGET /api/crypto-newsGET /api/analysisProxied to external OHLCX API with ~1 min cache. Returns upstream data key or 500 proxy error.
POST /api/ai/agents/supportPOST /api/ai/agents/tradingPOST /api/ai/agents/assistantAll return SSE text stream. Support and assistant are public (throttle 60/min). Trading requires authentication.
GET/POST /api/strategiesGET/PUT/DELETE /api/strategies/{id}GET /api/strategies/search/{sym}POST /api/strategy/{id}/deployPOST /api/strategy/{id}/duplicatePOST /api/strategy/{id}/retainGET /api/strategy/{id}/conditionsGET /api/strategy/{id}/activitiesFull CRUD + lifecycle. All proxy to external OHLCX API with cache invalidation on writes.
GET/POST /api/conditionsGET/PUT/DELETE /api/conditions/{id}GET /api/signalsConditions are attached to strategies. Signals are read-only.
GET /api/accountsGET /api/accounts/balancesGET /api/accounts/{id}/balanceGET /api/accounts/{id}/growthGET /api/accounts/{id}/pnlSchwab account summaries. Live broker data is fetched directly from Schwab by the frontend via useApiService - not this API.
GET /api/activitiesPOST /api/activitiesDELETE /api/activities/{id}User activity log. Create and delete entries.
GET /api/creditsGET /api/transaction-historyCredit balance and transaction history. Stripe-backed. Admin billing routes require is_admin.
POST /api/contact-formPOST /api/support-requestPOST /api/report-issuePOST /api/contact-form is CSRF-exempt for public use.
POST/GET/PUT/DELETE /api/group/{group}POST/DELETE /api/messageGET /api/sidebar-conversationsGET/POST /api/invitesPOST /api/invites/acceptTrading rooms - group CRUD, messaging, invites, and join requests.
GET /api/usersPOST /api/usersGET/PUT/DELETE /api/users/{id}POST /api/user/block-unblock/{user}POST /api/user/change-role/{user}Paginated user management. Cannot delete own account.
Auth Strategy Note
Set the CSRF cookie via GET /sanctum/csrf-cookie before first write. All mutations send credentials via window.axios with cookie auth. Only POST /api/contact-form is CSRF-exempt.
Request API Access →