Référence API
L’API Checkflow est une API REST accessible à https://api.checkflow.space/api/v1. Toutes les requêtes (sauf authentification) nécessitent un token Bearer.
Authentification
Demander un OTP
POST /api/v1/auth/request-otp| Champ | Type | Description |
|---|---|---|
email | string | Email de l’utilisateur |
full_name | string? | Nom complet (optionnel, pour la création de compte) |
Réponse : 200 — Code OTP envoyé par email.
Vérifier un OTP
POST /api/v1/auth/verify-otp| Champ | Type | Description |
|---|---|---|
email | string | |
code | string | Code OTP à 6 chiffres |
Réponse : 200 — Retourne token, data (utilisateur), session.
Google OAuth
POST /api/v1/auth/google| Champ | Type | Description |
|---|---|---|
id_token | string | Token Google ID |
Réponse : 200 — Retourne token, data, session.
Profil utilisateur
GET /api/v1/auth/me
Authorization: Bearer <token>Réponse : 200 — Données du profil utilisateur.
Déconnexion
POST /api/v1/auth/logout
Authorization: Bearer <token>Rafraîchir la session
POST /api/v1/auth/refresh
Authorization: Bearer <token>Projets
Toutes les routes nécessitent Authorization: Bearer <token>.
| Méthode | Route | Description |
|---|---|---|
POST | /projects | Créer un projet |
GET | /projects | Lister mes projets |
GET | /projects/:id | Détail d’un projet |
GET | /projects/:id/stats | Statistiques du projet |
PATCH | /projects/:id | Modifier un projet |
DELETE | /projects/:id | Supprimer un projet |
POST | /projects/:id/cover | Upload image de couverture |
Membres
| Méthode | Route | Description |
|---|---|---|
GET | /projects/:id/members | Lister les membres |
POST | /projects/:id/members | Inviter un membre |
PATCH | /projects/:id/members/:memberId | Changer le rôle |
DELETE | /projects/:id/members/:memberId | Retirer un membre |
Invitations
| Méthode | Route | Description |
|---|---|---|
GET | /invites/:token | Détails d’une invitation |
POST | /invites/:token/accept | Accepter une invitation |
GTM (Initiatives, Phases, Tâches)
Toutes les routes sont préfixées par /projects/:projectId/gtm.
Requiert authentification + accès au projet (owner, admin, ou member).
Initiatives
| Méthode | Route | Description |
|---|---|---|
POST | /initiatives | Créer une initiative |
GET | /initiatives | Lister les initiatives |
GET | /initiatives/:id | Détail d’une initiative |
PATCH | /initiatives/:id | Modifier une initiative |
DELETE | /initiatives/:id | Supprimer une initiative |
PUT | /initiatives/reorder | Réorganiser les initiatives |
Phases
| Méthode | Route | Description |
|---|---|---|
POST | /initiatives/:initiativeId/phases | Créer une phase |
GET | /phases/:id | Détail d’une phase |
PATCH | /phases/:id | Modifier une phase |
DELETE | /phases/:id | Supprimer une phase |
PUT | /initiatives/:id/phases/reorder | Réorganiser les phases |
Tâches
| Méthode | Route | Description |
|---|---|---|
POST | /phases/:phaseId/tasks | Créer une tâche |
GET | /phases/:phaseId/tasks | Lister les tâches d’une phase |
GET | /tasks/:id | Détail d’une tâche |
GET | /my-tasks | Mes tâches assignées |
PATCH | /tasks/:id | Modifier une tâche |
PATCH | /tasks/:id/status | Changer le statut |
PATCH | /tasks/:id/dates | Modifier les dates |
PATCH | /tasks/:id/move | Déplacer vers une autre phase |
DELETE | /tasks/:id | Supprimer une tâche |
Dépendances
| Méthode | Route | Description |
|---|---|---|
POST | /tasks/:id/dependencies | Créer une dépendance |
GET | /tasks/:id/dependencies | Lister les dépendances |
DELETE | /dependencies/:id | Supprimer une dépendance |
Commentaires
| Méthode | Route | Description |
|---|---|---|
POST | /tasks/:id/comments | Ajouter un commentaire |
GET | /tasks/:id/comments | Lister les commentaires |
DELETE | /comments/:id | Supprimer un commentaire |
Assignés
| Méthode | Route | Description |
|---|---|---|
GET | /tasks/:id/assignees | Lister les assignés |
POST | /tasks/:id/assignees | Ajouter un assigné |
PUT | /tasks/:id/assignees | Remplacer tous les assignés |
DELETE | /tasks/:id/assignees/:userId | Retirer un assigné |
Statuts Personnalisés
| Méthode | Route | Description |
|---|---|---|
GET | /statuses | Lister les statuts |
POST | /statuses | Créer un statut |
PUT | /statuses/reorder | Réorganiser les statuts |
PATCH | /statuses/:id | Modifier un statut (nom, couleur) |
DELETE | /statuses/:id | Supprimer un statut |
Règles de Transition
| Méthode | Route | Description |
|---|---|---|
GET | /statuses/transition-rules | Lister les règles |
POST | /statuses/transition-rules | Créer une règle |
PUT | /statuses/transition-rules/bulk | Remplacer toutes les règles |
PATCH | /statuses/transition-rules/toggle | Activer/désactiver les règles |
DELETE | /statuses/transition-rules/:id | Supprimer une règle |
Budget & KPIs
| Méthode | Route | Description |
|---|---|---|
GET | /projects/:id/gtm/kpis | KPIs du projet |
GET | /projects/:id/gtm/initiatives/:id/kpis | KPIs d’une initiative |
IA
| Méthode | Route | Description |
|---|---|---|
GET | /projects/:id/gtm/ai/status | Statut de l’IA |
POST | /projects/:id/gtm/ai/generate-copy | Générer du texte |
POST | /projects/:id/gtm/ai/suggest-phases | Suggérer des phases |
POST | /projects/:id/gtm/ai/decompose-strategy | Décomposer une stratégie |
Analytics
| Méthode | Route | Description |
|---|---|---|
GET | /projects/:id/gtm/critical-path | Chemin critique |
POST | /projects/:id/gtm/impact-analysis | Analyse d’impact |
GET | /projects/:id/gtm/velocity | Rapport de vélocité |
GET | /projects/:id/gtm/workload | Charge de travail |
GET | /projects/:id/gtm/analytics/summary | Résumé analytique |
GET | /projects/:id/gtm/analytics/events | Événements |
Médias & Fichiers
| Méthode | Route | Description |
|---|---|---|
POST | /projects/:id/gtm/tasks/:taskId/cover | Upload couverture tâche |
POST | /projects/:id/gtm/tasks/:taskId/files | Upload fichier sur tâche |
GET | /projects/:id/gtm/tasks/:taskId/files | Lister les fichiers |
POST | /projects/:id/gtm/tasks/:taskId/files/presigned-upload | URL présignée upload |
GET | /projects/:id/gtm/files/presigned | URL présignée download |
POST | /projects/:id/gtm/files/upload | Upload fichier projet |
DELETE | /projects/:id/gtm/files/:storageKey | Supprimer un fichier |
Feedback
Préfixe : /projects/:projectId/feedbacks
| Méthode | Route | Description |
|---|---|---|
POST | / | Créer un feedback |
GET | / | Lister les feedbacks (filtres: status, type, priority, assignee_id, search) |
GET | /stats | Statistiques |
GET | /:id | Détail d’un feedback |
PATCH | /:id | Modifier un feedback |
DELETE | /:id | Supprimer un feedback |
POST | /:id/comments | Ajouter un commentaire |
GET | /:id/comments | Lister les commentaires |
GET | /tags/list | Lister les tags |
POST | /tags/create | Créer un tag |
POST | /:id/tags/:tagId | Ajouter un tag |
DELETE | /:id/tags/:tagId | Retirer un tag |
POST | /api-keys/create | Créer une clé API |
GET | /api-keys/list | Lister les clés API |
DELETE | /api-keys/:keyId | Révoquer une clé |
SDK (Endpoint Public)
POST /api/v1/sdk/feedback
Header: X-API-Key: ck_live_...Endpoint public pour l’ingestion de feedbacks depuis le SDK. Authentifié via la clé API (header X-API-Key), pas de token Bearer requis.
Webhooks
Préfixe : /projects/:projectId/webhooks — Requiert rôle Owner ou Admin.
| Méthode | Route | Description |
|---|---|---|
POST | / | Créer un webhook |
GET | / | Lister les webhooks |
PATCH | /:id | Modifier un webhook |
DELETE | /:id | Supprimer un webhook |
POST | /test | Tester un webhook |
Notifications
| Méthode | Route | Description |
|---|---|---|
GET | /notifications | Lister mes notifications |
GET | /notifications/unread-count | Nombre de non-lues |
PUT | /notifications/read-all | Tout marquer comme lu |
PUT | /notifications/:id/read | Marquer comme lu |
DELETE | /notifications/:id | Supprimer |
Recherche
GET /api/v1/search?q=<terme>
Authorization: Bearer <token>Recherche globale dans tous les projets de l’utilisateur.
Templates
| Méthode | Route | Description |
|---|---|---|
GET | /templates | Lister les templates |
GET | /templates/:id | Détail d’un template |
POST | /templates/:id/fork | Forker en nouveau projet |