canonical: https://jentic.com/apis/miholearn.com/miholearn

# Miholearn Miho API

Jentic publishes the only available OpenAPI specification for Miho API, keeping it validated and agent-ready. Miho is a learning platform that exposes a small REST surface for course catalog and enrolment management. The three v2 endpoints let an integrator list available courses, create new courses programmatically, and enrol a student into a course. Authentication is by API key sent in the Authorization header.

## For AI agents

List Miho courses, create new course entries, and enrol students into a course on the Miho learning platform.

## Scope

Does not handle lesson content delivery, quiz grading, or learner analytics - use for listing courses, creating courses, and enrolling students on Miho only.

## Capabilities

- Retrieve the catalog of courses currently published on Miho
- Create a new course entry with title and metadata for a learning programme
- Enrol a student into a specific Miho course to grant them access
- Feed an external sign-up flow into the Miho course pipeline without manual admin work
- Pull the course list to populate an internal portal or chatbot

## Use cases

### Automated Student Enrolment

When a learner completes payment or sign-up in an external system, an agent calls Miho's enrolment endpoint to grant them access to the corresponding course. This removes the need for staff to enrol students by hand and keeps the LMS in sync with the order pipeline.

Example prompt: On payment success, POST /enrollments with the student id and course id of the purchased course.

### Course Catalog Mirror

An agent fetches the Miho course catalog and republishes it on a marketing site or chatbot so prospective learners always see current offerings. The list endpoint returns the source-of-truth catalog without scraping the Miho UI.

Example prompt: Call GET /courses and render the returned course titles and descriptions on a public catalogue page.

### Course Creation From a Spreadsheet

Course operators maintain their roadmap in a spreadsheet; an agent reads each row and calls POST /courses to create the corresponding Miho course. Programmes ship faster because content ops never has to touch the LMS admin UI.

Example prompt: For each row in the upcoming-courses sheet, POST /courses with the title and description.

### Agent-Driven LMS Workflows via Jentic

Through Jentic, an agent triggers Miho operations using semantic search. The Miho API key is held in your Jentic One instance and injected on each request, so an agent can enrol students or create courses without ever holding a credential.

Example prompt: Use Jentic search 'enrol a student in a course on miho', load the schema for POST /enrollments, and execute with the student id and course id.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/courses` | List courses |
| POST | `/courses` | Create a new course |
| POST | `/enrollments` | Enrol a student in a course |

## Key resources

- **Courses** — List and create courses on the Miho platform
- **Enrollments** — Enrol a student into a course

## Why Jentic

- **Setup:** Wiring Miho by hand means handling its API key auth in the Authorization header against api.miholearn.com and building the calls for listing courses, creating courses, and enrolling students yourself. Through Jentic you install once, import Miho from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Miho's course and enrollment endpoints take the target in the request body rather than the URL path, so scope the agent to the operations it needs, such as listing courses or creating an enrollment. You choose which operations are allowed, so course creation is only included if you add it.
- **Credential handling:** Your Miho API key is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'enrol a student in a course on Miho' or 'list courses', and Jentic returns the matching Miho operation with its input schema so the agent calls POST /enrollments without browsing the reference docs.

## Related APIs

- **Teachable API** — Course-hosting platform with a richer API surface for course, lesson, and student management.
- **Moodle Web Service API** — Open-source LMS with a comprehensive API for courses, users, and grades.
- **Udemy Affiliate API** — Catalog of public Udemy courses you can surface alongside in-house Miho courses.

## FAQ

### Why is there no official OpenAPI spec for Miho API?

Miho does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Miho API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Miho API use?

The API uses an API key sent in the Authorization header (the apiKey security scheme). Through Jentic, the key is held in the encrypted vault and injected on each call without entering the agent's context.

### Can I enrol students automatically through the Miho API?

Yes. POST /enrollments accepts a student id and a course id, which lets you wire the API into a payment or sign-up funnel and grant access without manual admin steps.

### What are the rate limits for the Miho API?

Miho does not publish public rate limits in this spec. Treat the API as rate-limited per key, back off on HTTP 429 responses, and contact Miho support for negotiated limits when running batch enrolments.

### How do I list courses through Jentic?

Run pip install jentic, search for 'list miho courses', load the schema for GET /courses, and execute. Jentic injects the stored Authorization header automatically.

### Can I update or delete a Miho course through this API?

Not in this version. The published surface only covers GET /courses, POST /courses, and POST /enrollments. Update and delete operations have to be done in the Miho admin UI or via a future API release.

### Can I limit what my agent is allowed to do with the Miho API?

Yes. Because you run your own self-hosted Jentic One instance, your rules decide which Miho operations the agent may call and which credentials it may use. You can allow read-only listing with GET /courses while withholding POST /courses and POST /enrollments, or grant enrollment without course creation, since each operation is only available if you add it. As Miho takes the target course and student in the request body rather than the URL, scoping at the operation level is what keeps the agent to exactly the tasks you intend.
