# MyUstadia API > REST API to turn URLs, PDFs, and source documents into branded multi-module video courses. ## Docs - [Create Course No Preset](https://docs.myustadia.com/api-reference/b2b-courses-v2-no-preset/create-course-no-preset.md): POST /api/v1/courses -- no-preset flow (NP-b). - [Account Review Settings All Auto](https://docs.myustadia.com/api-reference/b2b-courses-v2/account-review-settings-all-auto.md): Set every review point to the same value on the account map in one write. - [Account Review Settings Get](https://docs.myustadia.com/api-reference/b2b-courses-v2/account-review-settings-get.md): Return the account-level auto-approve map plus per-point effective defaults. - [Account Review Settings Put](https://docs.myustadia.com/api-reference/b2b-courses-v2/account-review-settings-put.md): Set one review point on the account auto-approve map. - [Approve Course Sources](https://docs.myustadia.com/api-reference/b2b-courses-v2/approve-course-sources.md): POST /courses/{id}/sources/approve (SG-f) - [Approve Remaining](https://docs.myustadia.com/api-reference/b2b-courses-v2/approve-remaining.md): POST /courses/{id}/approve-remaining (S2.2) - [Audio Approve](https://docs.myustadia.com/api-reference/b2b-courses-v2/audio-approve.md) - [Audio Read](https://docs.myustadia.com/api-reference/b2b-courses-v2/audio-read.md) - [Brief Abandon](https://docs.myustadia.com/api-reference/b2b-courses-v2/brief-abandon.md) - [Brief Answers](https://docs.myustadia.com/api-reference/b2b-courses-v2/brief-answers.md) - [Brief Next](https://docs.myustadia.com/api-reference/b2b-courses-v2/brief-next.md) - [Brief Read](https://docs.myustadia.com/api-reference/b2b-courses-v2/brief-read.md) - [Brief Validate](https://docs.myustadia.com/api-reference/b2b-courses-v2/brief-validate.md) - [Course Outline Read](https://docs.myustadia.com/api-reference/b2b-courses-v2/course-outline-read.md) - [Course Review Settings Get](https://docs.myustadia.com/api-reference/b2b-courses-v2/course-review-settings-get.md): Return per-point effective values for this course (merging all layers). - [Create Course](https://docs.myustadia.com/api-reference/b2b-courses-v2/create-course.md) - [Get Course Sources](https://docs.myustadia.com/api-reference/b2b-courses-v2/get-course-sources.md): GET /courses/{id}/sources (SG-f) - [Launch Course](https://docs.myustadia.com/api-reference/b2b-courses-v2/launch-course.md) - [Module Bulk Approve](https://docs.myustadia.com/api-reference/b2b-courses-v2/module-bulk-approve.md): POST /courses/{id}/modules/{m}/approve (S2.2) - [Outline Approve](https://docs.myustadia.com/api-reference/b2b-courses-v2/outline-approve.md) - [Outline Edits](https://docs.myustadia.com/api-reference/b2b-courses-v2/outline-edits.md) - [Outline Notes](https://docs.myustadia.com/api-reference/b2b-courses-v2/outline-notes.md) - [Outline Review](https://docs.myustadia.com/api-reference/b2b-courses-v2/outline-review.md) - [Per Artifact Approve](https://docs.myustadia.com/api-reference/b2b-courses-v2/per-artifact-approve.md): POST /courses/{id}/review/approve (S2.1) - [Per Artifact Note](https://docs.myustadia.com/api-reference/b2b-courses-v2/per-artifact-note.md): POST /courses/{id}/review/note (S2.1) - [Review Queue](https://docs.myustadia.com/api-reference/b2b-courses-v2/review-queue.md): GET /courses/{id}/review-queue - [Slides Approve](https://docs.myustadia.com/api-reference/b2b-courses-v2/slides-approve.md) - [Slides Read](https://docs.myustadia.com/api-reference/b2b-courses-v2/slides-read.md) - [Cancel Course](https://docs.myustadia.com/api-reference/b2b-courses/cancel-course.md): Cancel an in-progress or queued course generation. - [Delete Course](https://docs.myustadia.com/api-reference/b2b-courses/delete-course.md): Delete a course (soft delete -- files preserved on disk). - [Download Bundle](https://docs.myustadia.com/api-reference/b2b-courses/download-bundle.md): Download a ZIP bundle of all course assets (videos, slides, quiz, notes). - [Get Course](https://docs.myustadia.com/api-reference/b2b-courses/get-course.md): Get course metadata, outline, and quiz availability. - [Get Status](https://docs.myustadia.com/api-reference/b2b-courses/get-status.md): Poll course generation status. - [List Course Assets](https://docs.myustadia.com/api-reference/b2b-courses/list-course-assets.md): Return a list of signed URLs, one per asset. Video URLs valid 24h, JSON/PDF valid 15 min. Only available for R2-backed courses. - [List Courses](https://docs.myustadia.com/api-reference/b2b-courses/list-courses.md): List all courses belonging to this API client. - [Serve Notes](https://docs.myustadia.com/api-reference/b2b-courses/serve-notes.md): Get study notes for a specific module (markdown). - [Serve Slides](https://docs.myustadia.com/api-reference/b2b-courses/serve-slides.md): Download the slides PDF for a specific module. - [Serve Video](https://docs.myustadia.com/api-reference/b2b-courses/serve-video.md): Download the MP4 video for a specific module. - [ Approve](https://docs.myustadia.com/api-reference/b2b-preset-setup/approve.md) - [ Approve](https://docs.myustadia.com/api-reference/b2b-preset-setup/approve-1.md) - [ Approve](https://docs.myustadia.com/api-reference/b2b-preset-setup/approve-2.md) - [Approve Preset Sources](https://docs.myustadia.com/api-reference/b2b-preset-setup/approve-preset-sources.md): Approve the gathered preset sources (with optional removals) and enqueue preset_brand_synth. - [Create Preset](https://docs.myustadia.com/api-reference/b2b-preset-setup/create-preset.md) - [Delete Preset](https://docs.myustadia.com/api-reference/b2b-preset-setup/delete-preset.md) - [ Edits](https://docs.myustadia.com/api-reference/b2b-preset-setup/edits.md) - [ Edits](https://docs.myustadia.com/api-reference/b2b-preset-setup/edits-1.md) - [ Edits](https://docs.myustadia.com/api-reference/b2b-preset-setup/edits-2.md) - [ Generate](https://docs.myustadia.com/api-reference/b2b-preset-setup/generate.md) - [Get Preset Sources](https://docs.myustadia.com/api-reference/b2b-preset-setup/get-preset-sources.md): Return the gathered source artifacts (source_text + source_image) for a preset that is in the pending-source-review state. The client inspects the gathered material and decides which sources to keep before approving. - [List Preset Courses](https://docs.myustadia.com/api-reference/b2b-preset-setup/list-preset-courses.md) - [List Presets](https://docs.myustadia.com/api-reference/b2b-preset-setup/list-presets.md) - [ Read](https://docs.myustadia.com/api-reference/b2b-preset-setup/read.md) - [ Read](https://docs.myustadia.com/api-reference/b2b-preset-setup/read-1.md) - [ Read](https://docs.myustadia.com/api-reference/b2b-preset-setup/read-2.md) - [Read Preset](https://docs.myustadia.com/api-reference/b2b-preset-setup/read-preset.md) - [Read Quota](https://docs.myustadia.com/api-reference/b2b-preset-setup/read-quota.md) - [Setup Status](https://docs.myustadia.com/api-reference/b2b-preset-setup/setup-status.md): Poll-friendly status of the three setup jobs (brand / slide_style / voice_style) so a client, who cannot see the worker logs, knows when each is queued / running / ready / failed without waiting blind. - [Slide Style Generate](https://docs.myustadia.com/api-reference/b2b-preset-setup/slide-style-generate.md): Enqueue a slide_sample worker job. Returns 202 immediately. The worker writes the slide_style artifact when generation completes. Poll GET /presets/{id}/slide-style for status and sample URLs. - [Slide Style Notes](https://docs.myustadia.com/api-reference/b2b-preset-setup/slide-style-notes.md): Enqueue a slide_sample job carrying a client revision note. The worker regenerates all 4 sample slides incorporating the note. - [Update Preset](https://docs.myustadia.com/api-reference/b2b-preset-setup/update-preset.md) - [Upload Brand Assets](https://docs.myustadia.com/api-reference/b2b-preset-setup/upload-brand-assets.md) - [Voice Style Generate](https://docs.myustadia.com/api-reference/b2b-preset-setup/voice-style-generate.md): Enqueue a voice_sample worker job. Returns 202 immediately. The worker writes the voice_style artifact when synthesis completes. Poll GET /presets/{id}/voice-style for status and sample audio URLs. - [Voice Style Notes](https://docs.myustadia.com/api-reference/b2b-preset-setup/voice-style-notes.md): Enqueue a voice_sample job carrying a revision note. languages and voice_gender are carried over from the existing artifact when omitted. - [Preset Questions Answers](https://docs.myustadia.com/api-reference/b2b-presets/preset-questions-answers.md) - [Preset Questions Approve](https://docs.myustadia.com/api-reference/b2b-presets/preset-questions-approve.md) - [Preset Questions Next](https://docs.myustadia.com/api-reference/b2b-presets/preset-questions-next.md) - [Preset Questions Read](https://docs.myustadia.com/api-reference/b2b-presets/preset-questions-read.md) - [Preset Questions Recap](https://docs.myustadia.com/api-reference/b2b-presets/preset-questions-recap.md) - [Preset Questions Reset](https://docs.myustadia.com/api-reference/b2b-presets/preset-questions-reset.md) - [Preset Questions Start](https://docs.myustadia.com/api-reference/b2b-presets/preset-questions-start.md) - [Preset Questions Validate](https://docs.myustadia.com/api-reference/b2b-presets/preset-questions-validate.md) - [Get Final Exam Questions](https://docs.myustadia.com/api-reference/b2b-quiz/get-final-exam-questions.md): Get final exam questions (cross-module). - [Get Quiz Questions](https://docs.myustadia.com/api-reference/b2b-quiz/get-quiz-questions.md): Get quiz questions for a module. Answers are stripped. - [Grade Final Exam](https://docs.myustadia.com/api-reference/b2b-quiz/grade-final-exam.md): Grade a final exam submission. - [Grade Module Quiz](https://docs.myustadia.com/api-reference/b2b-quiz/grade-module-quiz.md): Grade a module quiz submission. - [Billing Report](https://docs.myustadia.com/api-reference/billing/billing-report.md): Monthly billing report for this API client. - [Health](https://docs.myustadia.com/api-reference/health.md) - [Health V1](https://docs.myustadia.com/api-reference/health-v1.md) - [API Reference](https://docs.myustadia.com/api-reference/introduction.md): Endpoint reference auto-rendered from openapi.yaml - [Authentication](https://docs.myustadia.com/authentication.md): Bearer tokens, sandbox vs live keys, key rotation - [Conventions](https://docs.myustadia.com/conventions.md): Base URL, content type, error envelope, rate limits, idempotency, pagination, timestamps - [Errors](https://docs.myustadia.com/errors.md): Error envelope, status codes, and the full code reference - [Introduction](https://docs.myustadia.com/introduction.md): Turn URLs, PDFs, and source documents into branded multi-module video courses via API - [Quickstart](https://docs.myustadia.com/quickstart.md): Generate your first course in under 10 minutes using a sandbox key (free) - [Review Checkpoints](https://docs.myustadia.com/review-checkpoints.md): Pause-for-human-approval points in the generation pipeline, how to disable them, how to use them - [Sandbox Mode](https://docs.myustadia.com/sandbox.md): Build and test your integration for free against a canonical demo course - [Webhooks](https://docs.myustadia.com/webhooks.md): Receive course lifecycle events instead of polling; HMAC-SHA256 signed deliveries - [Workflows](https://docs.myustadia.com/workflows.md): Preset and no-preset course creation flows, end to end ## OpenAPI Specs - [openapi](https://docs.myustadia.com/openapi.yaml)