Discovering Cohorts
Before your integration can submit applications, it needs to know which cohort to submit to. The platform identifies cohorts by a unique ID — a string like 665f1a2b3c4d5e6f7a8b9c0d. This page explains how to retrieve those IDs programmatically.
Required scope
Section titled “Required scope”To list cohorts via the API, your key needs the programs:read scope. Make sure you’ve selected it when creating the key — see API Keys.
Listing open cohorts
Section titled “Listing open cohorts”Send a GET request to:
GET /v1/api/programsAuthorization: Bearer inc_live_xxxxxxxxxxxxResponse:
{ "programs": [ { "id": "665f1a2b3c4d5e6f7a8b9c0d", "name": "Cohort 4 — Q1 2026", "status": "open" }, { "id": "664e9f1a2b3c4d5e6f7a8b9c", "name": "Cohort 3 — 2025", "status": "closed" } ]}This returns all cohorts for your programme, regardless of status. Filter on status: "open" to find the cohorts currently accepting applications.
Cohort statuses
Section titled “Cohort statuses”| Status | Meaning for your integration |
|---|---|
draft |
Not yet open. Submissions will be rejected with 403. |
open |
Accepting applications. Submit here. |
closed |
No longer accepting applications. Submissions will be rejected with 403. |
completed |
Archived. |
Attempting to submit to a cohort that isn’t open returns:
{ "error": "This cohort is not currently accepting applications" }Finding the right cohort ID
Section titled “Finding the right cohort ID”If your programme runs one cohort at a time, filter the list for status: "open" and use that ID. If you run multiple overlapping cohorts, match by name or keep a mapping of cohort IDs in your system configuration.
Checking a specific cohort
Section titled “Checking a specific cohort”If you already know the cohort ID and just want to confirm it’s still open before submitting:
GET /v1/api/programsAuthorization: Bearer inc_live_xxxxxxxxxxxxFilter the response for your ID and check the status field. There’s no single-cohort lookup endpoint — use the list and find your cohort within it.