Référence technique pour l'API REST et l'intégration WebSocket de Resolflow
Référence API interne
Cette documentation décrit l'API REST interne de Resolflow pour comprendre le fonctionnement de la plateforme. Resolflow est une application autonome, pas une API de plateforme pour les intégrations tierces. Si vous devez interagir avec Resolflow par programmation, utilisez plutôt le protocole MCP.
Architecture et capacités
Méthodes HTTP standard (GET, POST, PATCH, DELETE)
WebSocket pour les notifications en direct
Format de données cohérent
Authentification basée sur JWT avec double jeton
Jeton à courte durée stocké dans un cookie HTTP-only. Utilisé pour les requêtes API.
Jeton à longue durée pour obtenir de nouveaux jetons d'accès sans reconnexion.
# Connexion pour obtenir des jetons
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..."
}# Utiliser le jeton d'accès dans les requêtes
GET /api/workspaces Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Ressources et opérations principales
/api/auth/registerCréer un nouveau compte
/api/auth/loginConnexion avec e-mail/mot de passe
/api/auth/refreshObtenir un nouveau jeton d'accès
/api/auth/logoutEffacer les jetons et terminer la session
/api/auth/meObtenir les infos de l'utilisateur actuel
/api/workspacesLister tous les espaces de travail
/api/workspaces/:idObtenir les détails de l'espace de travail
/api/workspacesCréer un nouvel espace de travail
/api/workspaces/:idMettre à jour l'espace de travail
/api/workspaces/:idSupprimer l'espace de travail
/api/workspaces/:workspaceId/projectsLister les projets de l'espace de travail
/api/workspaces/:workspaceId/projectsCréer un projet
/api/projects/:idMettre à jour les paramètres du projet
/api/projects/:projectId/tasksLister les tâches
/api/projects/:projectId/tasksCréer une tâche
/api/tasks/:taskId/todosLister les todos d'une tâche
/api/todos/:idMettre à jour le statut d'un todo
/api/workspaces/:workspaceId/agentsLister les agents MCP
/api/projects/:projectId/tokensGénérer un jeton MCP
/api/workspaces/:workspaceId/reposLister les dépôts GitHub connectés
/api/orchestrator/suggest-tasksGénération de tâches par IA
/api/orchestrator/inboxObtenir les messages de l'orchestrateur
/api/orchestrator/askDemander conseil à l'orchestrateur
/api/projects/:projectId/reportsLister les rapports
/api/reports/:idObtenir les détails du rapport
Notifications en direct et synchronisation des données
Connectez-vous au serveur WebSocket pour les mises à jour en temps réel des tâches, todos, messages de l'orchestrateur et rapports.
# Se connecter au 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_createdNouvelle tâche ajoutée
task_updatedStatut de tâche modifié
todo_updatedMise à jour de progression du todo
orchestrator_messageNouveau conseil de l'IA
report_generatedNouveau rapport d'analyse
loop_signalAgent bloqué détecté
Flux complet de requête et réponse
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"
}Directives pour l'utilisation de l'API
Aucune limite de débit n'est actuellement appliquée pour les instances auto-hébergées. Pour les déploiements en production, envisagez d'implémenter une limitation de débit selon votre infrastructure.
Codes de statut HTTP standard :
200 - Succès201 - Créé400 - Requête invalide (erreurs de validation)401 - Non autorisé (jeton invalide/expiré)403 - Interdit (permissions insuffisantes)404 - Introuvable500 - Erreur serveur