Steadybase
API Reference

API Overview

REST and WebSocket API introduction, authentication, and common patterns.

API Overview

Steadybase exposes a REST API and a WebSocket server for real-time updates. All endpoints require authentication.

Base URL

https://durableminds.steadybase.io/api

For local development:

http://localhost:3000/api

Authentication

All API requests require a valid JWT token, obtained via the login endpoint:

# Get a JWT token
POST /auth/login
Content-Type: application/json
 
{ "inviteCode": "SB-ADMIN-XXXXXXXX" }
 
# Response
{
  "token": "eyJhbGciOiJIUzI1NiIs...",
  "role": "admin"
}

Include the token in subsequent requests:

# Via Authorization header
curl -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  https://durableminds.steadybase.io/api/workers
 
# Token is also set as an httpOnly cookie automatically

API Routers

RouterBase PathPurpose
Brain/api/brainConversational AI chat interface
Workers/api/workersAI worker management
Deals/api/dealsDeal pipeline and CRM
Memory/api/memoryHierarchical memory access
Drew/api/drewDrew Coordinator orchestration
WebSocket/wsReal-time event streaming

Common Patterns

Response Format

All endpoints return JSON:

{
  "data": { ... },
  "status": "ok"
}

Error Responses

{
  "error": "Unauthorized",
  "message": "Invalid or expired token",
  "status": 401
}

Rate Limits

Endpoint TypeLimitWindowResponse on Exceed
Auth (/auth/*)1015 minutes429 Too Many Requests
General (/api/*)30015 minutes429 Too Many Requests

Rate limit headers are included in responses:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 287
X-RateLimit-Reset: 1709564400

Health Check

GET /api/health

Returns server status, Temporal Cloud connection status, and uptime:

{
  "status": "healthy",
  "temporal": "connected",
  "uptime": 86400,
  "version": "1.0.0"
}

This endpoint does not require authentication.

Additional Endpoints

EndpointMethodAuthDescription
/api/healthGETNoServer health check
/api/tasks/statusGETYesBuild task tracking
/api/project/memoryGETYesProject-level durable memory
/api/configGETYesClient-side configuration (VAPI keys)
/statusGETNoStatus dashboard HTML page

On this page