API Reference

Documentation complète de l'API REST Powalyze

v2.0REST / JSONBearer Token Auth

Base URL

https://www.powalyze.com/api

Toutes les requêtes doivent inclure le header Authorization: Bearer <token>

Authentification

POST/api/auth/login

Connexion 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"
  }
}
POST/api/auth/signup

Cré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

GET/api/projects

Liste 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"
    }
  ]
}
POST/api/projects

Cré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"
}
PATCH/api/projects/:id

Mettre à jour un projet existant

Request Body

{
  "progress": 85,
  "rag_status": "YELLOW",
  "budget_spent": 2100000
}

Response

{
  "id": "uuid",
  "updated_at": "2026-03-16T10:00:00Z"
}
DELETE/api/projects/:id

Supprimer un projet

Response

{
  "success": true
}

Risques

GET/api/risks

Liste 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"
    }
  ]
}
POST/api/risks

Dé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

GET/api/decisions

Liste 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

POST/api/ai/predict

Pré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"
    ]
  }
}
POST/api/ai/chief-actions

Gé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

GET/api/subscriptions/check

Vé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
}
POST/api/subscriptions/start-trial

Dé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

100
Requêtes / minute (Pro)
1 000
Requêtes / heure (Pro)
Illimité
Enterprise

Codes de retour HTTP

200OKRequête traitée avec succès
201CreatedRessource créée avec succès
400Bad RequestParamètres invalides ou manquants
401UnauthorizedToken manquant ou expiré
403ForbiddenAccès refusé (tenant isolation)
404Not FoundRessource introuvable
429Too Many RequestsQuota de requêtes dépassé
500Internal Server ErrorErreur serveur interne

Besoin d'aide ?

Notre équipe technique est disponible pour vous accompagner dans l'intégration.

Contacter le support