API Reference
Documentation complète de l'API REST Powalyze
Base URL
Toutes les requêtes doivent inclure le header Authorization: Bearer <token>
Authentification
/api/auth/loginConnexion avec email et mot de passe
Request Body
{
"email": "user@company.com",
"password": "••••••••"
}Response
{
"token": "eyJhbGciOiJIUzI1...",
"user": {
"id": "uuid",
"email": "user@company.com",
"role": "PMO"
}
}/api/auth/signupCréer un nouveau compte utilisateur
Request Body
{
"email": "user@company.com",
"password": "••••••••",
"firstName": "Jean",
"lastName": "Dupont",
"company": "Acme Corp"
}Response
{
"success": true,
"needsEmailConfirmation": true
}Projets
/api/projectsListe tous les projets de l'organisation
Response
{
"projects": [
{
"id": "uuid",
"name": "Migration Cloud",
"rag_status": "GREEN",
"progress": 72,
"budget_planned": 2400000,
"budget_spent": 1680000,
"deadline": "2026-09-15",
"team": "Infrastructure",
"sponsor": "M. Laurent"
}
]
}/api/projectsCréer un nouveau projet
Request Body
{
"name": "Nouveau Projet",
"description": "Description du projet",
"team": "Engineering",
"sponsor": "M. Directeur",
"budget_planned": 500000,
"deadline": "2026-12-31",
"methodology": "agile"
}Response
{
"id": "uuid",
"name": "Nouveau Projet",
"rag_status": "GREEN",
"progress": 0,
"created_at": "2026-03-16T10:00:00Z"
}/api/projects/:idMettre à jour un projet existant
Request Body
{
"progress": 85,
"rag_status": "YELLOW",
"budget_spent": 2100000
}Response
{
"id": "uuid",
"updated_at": "2026-03-16T10:00:00Z"
}/api/projects/:idSupprimer un projet
Response
{
"success": true
}Risques
/api/risksListe tous les risques du portfolio
Response
{
"risks": [
{
"id": "uuid",
"project_id": "uuid",
"title": "Retard fournisseur",
"severity": "HIGH",
"probability": "MEDIUM",
"impact": "Retard de 3 semaines",
"mitigation": "Plan B avec fournisseur alternatif",
"status": "open"
}
]
}/api/risksDéclarer un nouveau risque
Request Body
{
"project_id": "uuid",
"title": "Dépassement budgétaire",
"severity": "HIGH",
"probability": "HIGH",
"impact": "Surcoût de 200K€",
"mitigation": "Revue scope avec sponsor"
}Response
{
"id": "uuid",
"status": "open",
"created_at": "2026-03-16T10:00:00Z"
}Décisions
/api/decisionsListe toutes les décisions du portfolio
Response
{
"decisions": [
{
"id": "uuid",
"project_id": "uuid",
"title": "Go/No-Go Phase 2",
"status": "approved",
"decided_by": "COMEX",
"decided_at": "2026-03-10",
"impact": "Lancement Phase 2 confirmé"
}
]
}Intelligence Artificielle
/api/ai/predictPrédiction IA sur un projet (probabilité de succès, risques, vélocité)
Request Body
{
"project_id": "uuid"
}Response
{
"prediction": {
"success_probability": 0.78,
"budget_risk": "medium",
"velocity_trend": "stable",
"recommended_actions": [
"Renforcer l'équipe QA",
"Revoir le planning Phase 3"
]
}
}/api/ai/chief-actionsGénérer les actions prioritaires du Chief of Staff
Request Body
{
"projects": ["uuid1", "uuid2"],
"context": "revue mensuelle"
}Response
{
"actions": [
{
"title": "Escalader le risque fournisseur",
"impact": "Réduction du retard de 2 semaines",
"priority": "critical",
"category": "risk_mitigation",
"confidence": 0.92
}
]
}Abonnements
/api/subscriptions/checkVérifier le statut de l'abonnement
Response
{
"hasSubscription": true,
"plan": "trial",
"status": "trialing",
"isTrialExpired": false,
"features": [
{ "feature_key": "projects_unlimited", "is_included": true },
{ "feature_key": "ai_narratives", "is_included": true }
],
"needsUpgrade": false
}/api/subscriptions/start-trialDémarrer l'accès gratuit pour auditer le SaaS
Response
{
"subscription": {
"plan": "trial",
"status": "trialing",
"trial_start": "2026-03-16T00:00:00Z",
"trial_end": "2026-03-30T00:00:00Z"
},
"message": "Accès gratuit activé"
}Limites & Quotas
Codes de retour HTTP
200OKRequête traitée avec succès201CreatedRessource créée avec succès400Bad RequestParamètres invalides ou manquants401UnauthorizedToken manquant ou expiré403ForbiddenAccès refusé (tenant isolation)404Not FoundRessource introuvable429Too Many RequestsQuota de requêtes dépassé500Internal Server ErrorErreur serveur interneBesoin d'aide ?
Notre équipe technique est disponible pour vous accompagner dans l'intégration.
Contacter le support