Technical reference for Resolflow REST API and WebSocket integration
Internal API Reference
This documentation describes Resolflow's internal REST API for understanding how the platform works. Resolflow is a self-contained application, not a platform API for third-party integrations. If you need to interact with Resolflow programmatically, use the MCP protocol instead.
Architecture and capabilities
Standard HTTP methods (GET, POST, PATCH, DELETE)
WebSocket for live notifications
Consistent data format
JWT-based authentication with dual tokens
Short-lived token stored in HTTP-only cookie. Used for API requests.
Long-lived token for obtaining new access tokens without re-login.
# Login to get tokens
POST /api/auth/login
Content-Type: application/json
{
"email": "[email protected]",
"password": "yourpassword"
}
Response:
{
"user": {
"id": "uuid",
"email": "[email protected]",
"name": "John Doe"
},
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"refreshToken": "eyJhbGciOiJIUzI1NiIs..."
}# Use access token in requests
GET /api/workspaces Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Main resources and operations
/api/auth/registerCreate new account
/api/auth/loginLogin with email/password
/api/auth/refreshGet new access token
/api/auth/logoutClear tokens and end session
/api/auth/meGet current user info
/api/workspacesList all workspaces
/api/workspaces/:idGet workspace details
/api/workspacesCreate new workspace
/api/workspaces/:idUpdate workspace
/api/workspaces/:idDelete workspace
/api/workspaces/:workspaceId/projectsList projects in workspace
/api/workspaces/:workspaceId/projectsCreate project
/api/projects/:idUpdate project settings
/api/projects/:projectId/tasksList tasks
/api/projects/:projectId/tasksCreate task
/api/tasks/:taskId/todosList todos for task
/api/todos/:idUpdate todo status
/api/workspaces/:workspaceId/agentsList MCP agents
/api/projects/:projectId/tokensGenerate MCP token
/api/workspaces/:workspaceId/reposList connected GitHub repos
/api/orchestrator/suggest-tasksAI-powered task generation
/api/orchestrator/inboxGet orchestrator messages
/api/orchestrator/askAsk orchestrator for guidance
/api/projects/:projectId/reportsList reports
/api/reports/:idGet report details
Live notifications and data synchronization
Connect to WebSocket server for real-time updates on tasks, todos, orchestrator messages, and reports.
# Connect to WebSocket
// Send authentication
{
"type": "auth",
"token": "your-access-token"
}
// Subscribe to workspace updates
{
"type": "subscribe",
"workspaceId": "workspace-uuid"
}
// Receive updates
{
"type": "task_updated",
"data": {
"taskId": "uuid",
"status": "in_progress",
"updatedBy": "agent-name"
}
}task_createdNew task added
task_updatedTask status changed
todo_updatedTodo progress update
orchestrator_messageNew guidance from AI
report_generatedNew analytics report
loop_signalAgent stuck detected
Complete request and response flow
POST /api/projects/550e8400-e29b-41d4-a716-446655440000/tasks
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"title": "Add dark mode support",
"description": "Implement dark mode toggle with system preference detection",
"type": "feature",
"priority": "medium"
}{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"title": "Add dark mode support",
"description": "Implement dark mode toggle with system preference detection",
"type": "feature",
"priority": "medium",
"status": "not_started",
"projectId": "550e8400-e29b-41d4-a716-446655440000",
"createdBy": "user-uuid",
"createdAt": "2024-02-12T10:30:00Z",
"updatedAt": "2024-02-12T10:30:00Z"
}Guidelines for API usage
Currently no rate limits enforced for self-hosted instances. For production deployments, consider implementing rate limiting based on your infrastructure.
Standard HTTP status codes:
200 - Success201 - Created400 - Bad request (validation errors)401 - Unauthorized (invalid/expired token)403 - Forbidden (insufficient permissions)404 - Not found500 - Server error