API Reference

Complete REST API documentation for the Algrow platform.

Base URL

https://api.algrow.biz

Authentication

Most endpoints require a Bearer token. Get a token by calling the login endpoint, then include it in the Authorization header:

POST /api/auth/login
Content-Type: application/json

{
  "email": "[email protected]",
  "password": "your-password"
}

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

Include the token in subsequent requests:

Authorization: Bearer eyJhbGciOiJIUzI1...
Access tokens expire after 30 minutes. Call the login endpoint again to get a fresh token.

Endpoints

MethodPathDescriptionAuth
POST/api/auth/registerCreate a new user accountNo
POST/api/auth/loginAuthenticate and get access tokenNo
GET/api/auth/meGet current user profileYes
GET/api/strategiesList all strategiesYes
POST/api/strategiesCreate a new strategyYes
GET/api/strategies/{id}Get strategy detailsYes
PUT/api/strategies/{id}Update a strategyYes
DELETE/api/strategies/{id}Delete a strategyYes
GET/api/templatesList strategy templatesYes
POST/api/backtestsRun a backtestYes
GET/api/backtests/{id}Get backtest resultYes
GET/api/brokersList connected brokersYes
POST/api/brokers/connectConnect a brokerYes
DELETE/api/brokers/{id}Disconnect a brokerYes
POST/api/signals/webhookReceive trading signalNo
GET/api/ordersList ordersYes
GET/api/positionsList open positionsYes
GET/api/subscriptions/plansList subscription plansNo
GET/api/subscriptions/meGet current subscriptionYes
GET/api/subscriptions/usageGet usage & limitsYes

Error Handling

All errors return a JSON object with an error message:

{
  "detail": "Error description here"
}

Common Status Codes

  • 200 — Success
  • 201 — Created
  • 204 — Deleted (no content)
  • 400 — Bad request (invalid parameters)
  • 401 — Unauthorized (invalid or expired token)
  • 403 — Forbidden (insufficient permissions)
  • 404 — Not found
  • 409 — Conflict (e.g., duplicate email)
  • 429 — Rate limited
  • 500 — Server error

Rate Limits

API requests are rate-limited based on your subscription plan:

  • Free: 60 requests/minute
  • Starter: 120 requests/minute
  • Pro: 300 requests/minute

Rate limit headers are included in every response: X-RateLimit-Remaining and X-RateLimit-Reset.