iblai-api-cataloglisted
Install: claude install-skill iblai/api
# iblai-api-catalog
Manage an organization's **learning catalog** from the API: courses, programs,
pathways, and resources; the skills and roles taxonomy (including each user's
desired/reported skills and roles); course and program metadata; plus
enrollment (course / program / pathway, admin and self), eligibility checks,
catalog search, and course reviews. Use when populating the catalog, enrolling
users, checking who can take what, or curating the skills/roles graph.
## Auth & conventions
- **Base URL:** `https://api.iblai.app/dm` — these are Data Manager (DM)
endpoints, so the **`/dm` prefix is required**; the `/api/catalog/...` paths
below are appended to it (e.g. `https://api.iblai.app/dm/api/catalog/courses/`).
- **Header:** `Authorization: Api-Token $IBLAI_API_KEY` on every request.
- **Path vars:** `{org}` = `$IBLAI_ORG` (a.k.a. `org` / `platform_key` /
`platform_org` on the wire), `{username}` = `$IBLAI_USERNAME`. Org/user are
passed as **query params or body fields**, **not** baked into the path.
- DELETE / destructive / outward-facing calls say "Confirm with the user first."
- `course_id` values must be **URL-encoded** in query strings.
- Not connected yet? Run **`/iblai-api-login`** first to populate `IBLAI_ORG`,
`IBLAI_USERNAME`, and `IBLAI_API_KEY`.
## Reads
### Courses
- **GET** `/api/catalog/courses/` — retrieve courses; filter by `course_id`, `slug` (case-insensitive), `org` (query params). Returns `[{course_id, name, slug, org}]`.
### Progra