POST /api/cycles
Crée un cycle de transfert pour un programme.
Requête
POST /api/cycles
Authorization: Bearer {token}
Content-Type: application/json
Permission : transferts.cycles_create. Le programme doit appartenir au périmètre de l'utilisateur et son projet ne doit pas être archivé.
Corps
{
"nom": "Transfert janvier 2026",
"programme": "{programmeId}",
"compteOperateur": "{compteOperateurId}",
"dateDebut": "2026-01-15",
"dateFin": "2026-01-31",
"nbBeneficiairesPrevu": 1200,
"description": "Premier transfert de l'année"
}
| Champ | Requis | Description |
|---|---|---|
nom | oui | Nom du cycle |
programme | oui | Identifiant du programme |
compteOperateur | oui | Compte opérateur (actif) qui portera les paiements |
dateDebut | oui | Date de début (AAAA-MM-JJ) |
dateFin | non | Date de fin |
nbBeneficiairesPrevu | non | Nombre prévu |
description | non | Texte libre |
Le code du cycle est attribué par la nomenclature « Transfert » (Paramètres → Nomenclature).
Réponse
Succès (201)
{
"success": true,
"message": "Cycle créé avec succès",
"data": { "id": "770e8400-e29b-41d4-a716-446655440003", "code": "TRF-2026-003", "nom": "Transfert janvier 2026", "programme": "Programme exemple", "dateDebut": "2026-01-15", "montantParBeneficiaire": 15000 }
}
Erreurs
| Code | Message |
|---|---|
| 400 | Champs requis: nom, dateDebut, programme, compteOperateur |
| 400 | Le compte opérateur sélectionné est inactif. Veuillez choisir un compte actif. |
| 403 | Permission manquante ou programme hors périmètre |
| 404 | Programme non trouvé / Compte opérateur non trouvé |
PUT /api/cycles/{id}
Modifie un cycle (PUT ou PATCH, mêmes champs que la création). Permission : transferts.cycles_edit. Refusé si le cycle est soumis à validation ou si son projet est archivé.
curl -X PATCH https://sig.example.org/api/cycles/{id} \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"dateFin": "2026-02-05"}'
Génération automatique
| Endpoint | Description |
|---|---|
GET /api/cycles/preview/{programmeId} | Aperçu du prochain cycle d'un programme à récurrence |
POST /api/cycles/generate/{programmeId} | Génère le prochain cycle d'un programme |
POST /api/cycles/generate-all-automatic | Génère les cycles dus de tous les programmes à récurrence automatique |
POST /api/cycles/cuidadors | Crée un cycle de paiement des agents communautaires |
Génération des paiements
POST /api/cycles/{id}/generate-payments
Crée un paiement par bénéficiaire actif et éligible du programme. Permission : transferts.paiements_execute. Pour un cycle d'agents communautaires : POST /api/cycles/{id}/generate-cuidadors-payments (liste des candidats : GET /api/cycles/{id}/available-cuidadors).