GET /courses/platform returns those, and they appear to every organization without being copied into it.
Key fields
Access
A course is not open to an organization by default. Access is granted per member:POST /courses/{courseId}/grantsgrants a member access, andDELETE /courses/{courseId}/grants/{memberId}revokes it.- A member without access can ask for it with
POST /courses/{courseId}/access-requests, which an admin then grants or dismisses. GET /courses/{courseId}/accessreports where a given member stands.
Media
Lessons present images, video, and 3D models, uploaded to the course rather than to a lesson so the same asset can be used more than once. Upload is a two-step exchange: request a URL withPOST /courses/{courseId}/media/upload-url, then confirm with POST /courses/{courseId}/media/{mediaId}/complete once the bytes have landed.
An existing 3D object can be used directly, without uploading anything, via POST /courses/{courseId}/media/feature-from-object.
Endpoints
Full endpoint reference is available in the OpenAPI spec. Key operations:GET /courses: list the organization’s coursesGET /courses/platform: the shared platform cataloguePOST /courses: create a coursePATCH /courses/{courseId}: update title, description, or coverDELETE /courses/{courseId}: archive a course, recoverable withPOST /courses/{courseId}/restorePOST /courses/{courseId}/grants: grant a member accessPOST /courses/{courseId}/media/upload-url: begin a media upload
