Aller au contenu principal

GET /api/cycles

Liste les cycles de transfert visibles par l'utilisateur. Dans l'interface, un cycle de transfert monétaire s'appelle un « transfert » ; l'API garde le nom technique cycles.

Requête​

GET /api/cycles
Authorization: Bearer {token}

Permission : transferts.cycles_view. La liste est cloisonnée : un utilisateur ne voit que les cycles des projets de son périmètre (institution et projets rattachés).

Paramètres de requête​

ParamètreTypeDescription
statutstringStatut du cycle (planifie à la création, preparation, valide, en_cours, termine, rejete) ; le statut de validation est distinct (statutValidation : brouillon, en_attente, valide, rejete)
searchstringRecherche dans le code et le nom
projet_iduuidFiltrer par projet (projet.id accepté aussi)
typeCyclestringbeneficiaires (défaut) ou cuidadors (paiement des agents communautaires)
date_debut, date_findatePériode (AAAA-MM-JJ)
montant_min, montant_maxnombreMontant total prévu
nb_beneficiaires_min, nb_beneficiaires_maxentierNombre de bénéficiaires prévu

La réponse n'est pas paginée : elle contient tous les cycles du périmètre correspondant aux filtres.

Réponse​

Succès (200)​

{
"success": true,
"data": [
{
"id": "770e8400-e29b-41d4-a716-446655440001",
"code": "TRF-2026-001",
"nom": "Transfert janvier 2026",
"description": null,
"typeCycle": "beneficiaires",
"dateDebut": "2026-01-15",
"dateFin": "2026-01-31",
"montantParBeneficiaire": 15000,
"statut": "en_cours",
"nbBeneficiairesPrevu": 1200,
"nbBeneficiairesPaye": 0,
"montantTotalPrevu": 18000000,
"montantTotalPaye": 0,
"tauxExecution": 0,
"dateExecution": null,
"dateLimiteRetour": null,
"genereAutomatiquement": false,
"numeroSequence": 1,
"cycleParentId": null,
"programme": { "id": "…", "code": "PROG-01", "nom": "Programme exemple" },
"projet": { "id": "…", "code": "PRJ", "nom": "Projet exemple" },
"lectureSeule": false,
"createdAt": "2026-01-10T09:00:00+00:00",
"updatedAt": "2026-01-10T09:00:00+00:00"
}
]
}

lectureSeule vaut true quand le projet du cycle est archivé : le cycle est consultable mais ne peut plus être modifié.

Erreurs​

CodeCas
401Pas de jeton ou jeton expiré
403Utilisateur connecté sans la permission transferts.cycles_view

Exemple​

curl "https://sig.example.org/api/cycles?statut=en_cours&projet_id={projetId}" \
-H "Authorization: Bearer $TOKEN"

Endpoints liés​

EndpointDescription
GET /api/cycles/detail/{id}Détail d'un cycle
GET /api/cycles/pendingCycles dus non encore générés (programmes à récurrence, permission transferts.recurrence)
GET /api/cycles/preview/{programmeId}Aperçu du prochain cycle d'un programme récurrent