Skip to main content

List cycles

GET/cycles

List cycles

Enumerates every cycle your institution's applications can belong to — one row per cycle that exists as a live published snapshot or an archived one. Use the returned cycle_id values for exact cycle filters on the applications endpoints instead of matching by name.
Try it
Stored only in your browser (localStorage).
About status. Computed day-granular on the Africa/Kigali calendar: live cycles are upcoming, open, or closed by their open-to-close date window; past cycles that have been archived report archived. is_open is true only while status is open. Several cycles can be open at the same time.

Example response

{
  "code": 200,
  "data": [
    {
      "cycle_id": "cyc_2026",
      "cycle_name": "2026 Intake",
      "open_date": "2026-06-01",
      "close_date": "2026-09-30",
      "status": "open",
      "is_open": true
    },
    {
      "cycle_id": "cyc_2025",
      "cycle_name": "2025 Intake",
      "open_date": "2025-06-01",
      "close_date": "2025-09-30",
      "status": "archived",
      "is_open": false
    }
  ]
}
curl -X GET 'https://api.uapply.africa/api/v1/cycles' \
-H 'Authorization: Bearer YOUR_KEY'

Sorting and deduplication​

Rows are sorted open → upcoming → closed → archived, then by open_date (newest first). A cycle that was re-published appears once — the live snapshot wins over any archived copy.

curl "https://api.uapply.africa/api/v1/cycles" \
-H "Authorization: Bearer $UAPI_KEY"