API Facturation
Endpoints organisations et facturation
Endpoints organisations et facturation
Book: ConformVault — Stockage sécurisé de fichiers | Chapter: Reference API
Endpoints organisations et facturation
Organisations (Multi-tenant)
Les organisations representent les tenants dans le modele SaaS de ConformVault. Chaque organisation possede ses propres utilisateurs, fichiers, cles de chiffrement et bucket S3.
GET /api/v1/organizations
Liste les organisations accessibles a l'utilisateur.
POST /api/v1/organizations
Cree une nouvelle organisation. Declenche automatiquement :
- Creation du bucket S3 OVH dedie
- Generation des cles RSA-4096
- Creation du client Stripe
- Attribution du plan par defaut (free)
- Creation des dossiers par defaut (uploads, transfert, Data)
{
"name": "My Organization",
"type": "client",
"parent_msp_id": "uuid"
}PATCH /api/v1/organizations/:org_id
Met a jour une organisation.
DELETE /api/v1/organizations/:org_id
Supprime une organisation (soft delete recommande).
Utilisateurs d'organisation
| Methode | Endpoint | Description |
|---|---|---|
| GET | /organizations/:org_id/users | Liste des utilisateurs |
| POST | /organizations/:org_id/users | Ajouter un utilisateur |
| PATCH | /organizations/:org_id/users/:user_id | Modifier le role |
| DELETE | /organizations/:org_id/users/:user_id | Retirer un utilisateur |
| POST | /organizations/:org_id/users/:user_id/reset-password | Reinitialiser le mot de passe |
Abonnements (Subscriptions)
GET /api/v1/organizations/:org_id/subscription
Retourne l'abonnement actif de l'organisation.
{
"id": "uuid",
"plan_id": "uuid",
"plan_name": "Pro",
"status": "active",
"current_period_start": "2026-02-01T00:00:00Z",
"current_period_end": "2026-03-01T00:00:00Z",
"stripe_subscription_id": "sub_xxxx"
}POST /api/v1/organizations/:org_id/subscription/change
Change le plan d'abonnement. Gere les prorations Stripe automatiquement.
{
"plan_id": "uuid"
}POST /api/v1/organizations/:org_id/subscription/cancel
Annule l'abonnement (effectif a la fin de la periode).
POST /api/v1/organizations/:org_id/subscription/reactivate
Reactive un abonnement annule (avant la fin de la periode).
Plans tarifaires
GET /api/v1/plans (public)
Liste les plans disponibles.
{
"plans": [
{
"id": "uuid",
"name": "Free",
"code": "free",
"storage_limit_bytes": 104857600,
"price_monthly": 0,
"price_yearly": 0,
"features": ["100 MB storage", "1 user"],
"is_public": true
},
{
"id": "uuid",
"name": "Pro",
"code": "pro",
"storage_limit_bytes": 10737418240,
"price_monthly": 1999,
"price_yearly": 19990,
"features": ["10 GB storage", "10 users", "E2E encryption"],
"is_public": true
}
]
}Factures (Invoices)
| Methode | Endpoint | Description |
|---|---|---|
| GET | /organizations/:org_id/invoices | Liste des factures |
| GET | /organizations/:org_id/invoices/:id | Detail d'une facture |
| GET | /organizations/:org_id/invoices/:id/pdf | Telecharger le PDF |
| POST | /organizations/:org_id/invoices/:id/pay | Marquer comme payee |
Methodes de paiement
| Methode | Endpoint | Description |
|---|---|---|
| GET | /organizations/:org_id/payment-methods | Liste |
| POST | /organizations/:org_id/payment-methods | Ajouter (via Stripe) |
| DELETE | /organizations/:org_id/payment-methods/:id | Supprimer |
| POST | /organizations/:org_id/payment-methods/:id/default | Definir par defaut |
Webhooks Stripe
POST /api/v1/webhooks/stripe
Recoit et traite les evenements Stripe. La verification de signature est effectuee en interne. Table stripe_events_processed pour l'idempotence.
Evenements traites :
customer.subscription.*: Mise a jour des abonnementsinvoice.*: Mise a jour des facturespayment_method.*: Mise a jour des methodes de paiementcharge.*: Suivi des charges