Referencia técnica para la API REST de Resolflow e integración WebSocket
Referencia de API interna
Esta documentación describe la API REST interna de Resolflow para entender cómo funciona la plataforma. Resolflow es una aplicación autónoma, no una API de plataforma para integraciones de terceros. Si necesitas interactuar con Resolflow mediante programación, usa el protocolo MCP en su lugar.
Arquitectura y capacidades
Métodos HTTP estándar (GET, POST, PATCH, DELETE)
WebSocket para notificaciones en vivo
Formato de datos consistente
Autenticación basada en JWT con tokens duales
Token de corta duración almacenado en cookie HTTP-only. Usado para solicitudes de API.
Token de larga duración para obtener nuevos tokens de acceso sin volver a iniciar sesión.
# Inicia sesión para obtener 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..."
}# Usa el token de acceso en las solicitudes
GET /api/workspaces Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Recursos y operaciones principales
/api/auth/registerCrear nueva cuenta
/api/auth/loginIniciar sesión con email/contraseña
/api/auth/refreshObtener nuevo token de acceso
/api/auth/logoutBorrar tokens y finalizar sesión
/api/auth/meObtener info del usuario actual
/api/workspacesListar todos los espacios de trabajo
/api/workspaces/:idObtener detalles del espacio de trabajo
/api/workspacesCrear nuevo espacio de trabajo
/api/workspaces/:idActualizar espacio de trabajo
/api/workspaces/:idEliminar espacio de trabajo
/api/workspaces/:workspaceId/projectsListar proyectos en el espacio de trabajo
/api/workspaces/:workspaceId/projectsCrear proyecto
/api/projects/:idActualizar configuración del proyecto
/api/projects/:projectId/tasksListar tareas
/api/projects/:projectId/tasksCrear tarea
/api/tasks/:taskId/todosListar todos de una tarea
/api/todos/:idActualizar estado del todo
/api/workspaces/:workspaceId/agentsListar agentes MCP
/api/projects/:projectId/tokensGenerar token MCP
/api/workspaces/:workspaceId/reposListar repos de GitHub conectados
/api/orchestrator/suggest-tasksGeneración de tareas con IA
/api/orchestrator/inboxObtener mensajes del orquestador
/api/orchestrator/askPedir orientación al orquestador
/api/projects/:projectId/reportsListar informes
/api/reports/:idObtener detalles del informe
Notificaciones en vivo y sincronización de datos
Conéctate al servidor WebSocket para actualizaciones en tiempo real de tareas, todos, mensajes del orquestador e informes.
# Conectar al 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_createdNueva tarea añadida
task_updatedEstado de tarea cambiado
todo_updatedActualización de progreso del todo
orchestrator_messageNueva orientación de la IA
report_generatedNuevo informe de análisis
loop_signalAgente atascado detectado
Flujo completo de solicitud y respuesta
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"
}Directrices para el uso de la API
Actualmente no se aplican límites de tasa para instancias autoalojadas. Para despliegues en producción, considera implementar limitación de tasa según tu infraestructura.
Códigos de estado HTTP estándar:
200 - Éxito201 - Creado400 - Solicitud incorrecta (errores de validación)401 - No autorizado (token inválido/expirado)403 - Prohibido (permisos insuficientes)404 - No encontrado500 - Error del servidor