API Reference
Complete REST API documentation for the Algrow platform.
Base URL
https://api.algrow.bizAuthentication
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
| Method | Path | Description | Auth |
|---|---|---|---|
| POST | /api/auth/register | Create a new user account | No |
| POST | /api/auth/login | Authenticate and get access token | No |
| GET | /api/auth/me | Get current user profile | Yes |
| GET | /api/strategies | List all strategies | Yes |
| POST | /api/strategies | Create a new strategy | Yes |
| GET | /api/strategies/{id} | Get strategy details | Yes |
| PUT | /api/strategies/{id} | Update a strategy | Yes |
| DELETE | /api/strategies/{id} | Delete a strategy | Yes |
| GET | /api/templates | List strategy templates | Yes |
| POST | /api/backtests | Run a backtest | Yes |
| GET | /api/backtests/{id} | Get backtest result | Yes |
| GET | /api/brokers | List connected brokers | Yes |
| POST | /api/brokers/connect | Connect a broker | Yes |
| DELETE | /api/brokers/{id} | Disconnect a broker | Yes |
| POST | /api/signals/webhook | Receive trading signal | No |
| GET | /api/orders | List orders | Yes |
| GET | /api/positions | List open positions | Yes |
| GET | /api/subscriptions/plans | List subscription plans | No |
| GET | /api/subscriptions/me | Get current subscription | Yes |
| GET | /api/subscriptions/usage | Get usage & limits | Yes |
Error Handling
All errors return a JSON object with an error message:
{
"detail": "Error description here"
}Common Status Codes
200— Success201— Created204— Deleted (no content)400— Bad request (invalid parameters)401— Unauthorized (invalid or expired token)403— Forbidden (insufficient permissions)404— Not found409— Conflict (e.g., duplicate email)429— Rate limited500— 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.