Cohorts API

A practical guide to the business rules behind the Cohorts Public API v6. This is not an endpoint reference — it explains what a cohort is, how it behaves, and the rules the API enforces so you know what to expect before you call it.

Reference vs. this guide

Endpoint paths, parameters, and payloads live in the separate Learning API Referenceopen in new window. The paths shown here are logical; the gateway/proxy may rewrite them.

Overview

A cohort is a time-boxed, structured learning program that lives inside a community. It organizes learning content into ordered sections, enrolls members, and is managed by authors. The API lets you create and manage cohorts, arrange their content, enroll and track learners, and read completion progress.

The object model is a simple tree:

community
└── cohort
    ├── sections
    │   └── contents (learning objects / cards)
    ├── members   (learners)
    └── authors   (managers, incl. one creator)

Access requirements

Two conditions must hold before any cohort call succeeds:

  • The feature must be enabled for the organization. Controlled by the EnableSocialLearningCohorts corp setting. When off, every cohort endpoint returns 403 (cohorts_not_enabled).
  • The community must be topic-based. Cohorts can only exist in topic-based communities. Any other community type returns 422 (community_not_topic_based); a missing community returns 404 (community_not_found).

On top of that, every action is authorized per role — see Roles and permissions.

In this guide