feat: enhance API and middleware functionality: add public API routes, implement program and course member checks, and improve rate limiting for invite acceptance. Update OpenAPI spec generation to focus on public API endpoints and add new middleware for automation key scopes. Include new documentation for lesson AI features and public API tests.

This commit is contained in:
Rotimi Best
2026-04-12 08:58:41 +01:00
parent 5a8f50f67b
commit d6e812d08b
573 changed files with 31964 additions and 8708 deletions
+64
View File
@@ -0,0 +1,64 @@
---
title: API
description: Use the ClassroomIO public API to manage audience members and courses with organization-scoped API keys.
---
import { Callout } from 'fumadocs-ui/components/callout';
The ClassroomIO public API is available under:
```text
https://api.classroomio.com/public-api/v1
```
Authentication uses organization-scoped bearer tokens created from `Automation -> API` in the ClassroomIO dashboard.
## Interactive Reference
- [Open the interactive API reference](/docs/api/reference)
## Plan Requirement
<Callout type="warn" title="Paid Access">
API key creation is available only on Early Adopter and Enterprise plans.
</Callout>
## Current Surface
Current public API groups:
- `audience`
- `courses`
Implemented route families:
- `GET /public-api/v1/audience`
- `POST /public-api/v1/audience`
- `POST /public-api/v1/audience/assign-courses`
- `GET /public-api/v1/audience/:memberId`
- `PUT /public-api/v1/audience/:memberId`
- `DELETE /public-api/v1/audience/:memberId`
- `GET /public-api/v1/courses`
- `GET /public-api/v1/courses/:courseId`
- `GET /public-api/v1/courses/:courseId/students`
- `GET /public-api/v1/courses/:courseId/export`
## OpenAPI
Raw OpenAPI JSON:
- [Public API OpenAPI JSON](https://api.cdn.clsrio.com/openapi/public-api/openapi-latest.json)
- [Interactive API Reference](/docs/api/reference)
## Authentication Example
```bash
curl https://api.classroomio.com/public-api/v1/audience \
-H "Authorization: Bearer <cio_api_key>"
```
## Notes
- API keys are organization-scoped.
- Enrollment is handled through `POST /public-api/v1/audience/assign-courses`.
- The API documentation will expand as the remaining public API write endpoints are added.
@@ -40,7 +40,7 @@ import { t } from '$lib/utils/functions/translations';
Once you've updated the English file, you need to update the other files. To do this, run a command. Firstly ensure you're still in the `/apps/dashboard` directory, then execute:
```zsh title="Terminal"
pnpm run script:translate
pnpm run translate
```
This command runs a script that updates the other translation files.
+2
View File
@@ -7,6 +7,8 @@
"---Core Features---",
"course",
"programs",
"api",
"mcp",
"tags",
"audience",
+10
View File
@@ -0,0 +1,10 @@
---
title: Programs
description: Learn when to use Programs in ClassroomIO, the kinds of training they support, and how they work for both admins and learners.
---
import { Callout } from 'fumadocs-ui/components/callout';
<Callout type="warn" title="Coming Soon">
Full customer documentation for Programs is still being prepared. For now, this page is a placeholder and the draft content has been moved into the product PRD.
</Callout>