canonical: https://jentic.com/apis/api-v2.miholearn.com8443/miho

# Api V2 Miholearn Com8443 Miho API

Miho is a learning management platform exposing a small v2 REST API focused on courses and enrollments. The 3 operations let an integration list available courses and manage student enrollments programmatically. Authentication is by API key passed as the Authorization header. The current spec is a thin slice of the platform's full surface and is suitable for course catalogue display and enrollment automation.

## For AI agents

List available courses on Miho and manage student enrollments through 3 operations on a v2 LMS API.

## Scope

Does not handle content authoring, progress tracking, or payments - use for Miho course catalogue listing and enrollment record management only.

## Capabilities

- List courses available in the Miho catalogue with /courses
- Read enrollment records for a learner or course with /enrollments
- Enrol a learner in a chosen course by creating an enrollment record
- Authenticate every request with an API key passed in the Authorization header
- Build a thin course-catalogue widget on top of an external site without proxying the Miho web UI

## Use cases

### Course Catalogue Widget

Build a course catalogue widget on a marketing site by calling /courses to list the active offerings on Miho. The response feeds a card grid that links each course to its detail page, and can be cached to keep traffic off the LMS for browse-only sessions. This avoids embedding the full Miho web UI when a thin marketing experience is enough.

Example prompt: Call GET /courses, render each course as a card with title and description, and link the card to the Miho course detail page

### Automatic Enrollment on Purchase

Connect a checkout flow to Miho by creating an enrollment record on /enrollments after a successful payment. The integration receives the learner id and chosen course id from the upstream order system and posts them to /enrollments to grant access. This automates the gap between commerce and learning delivery.

Example prompt: On successful payment, POST to /enrollments with the learner id and course id, then read the response back to confirm the enrollment record was created

### Learner Enrollment Lookup

Surface a learner's current enrollments on a customer-success dashboard or in a support agent's view by calling /enrollments filtered to a specific learner. The result lets the operator answer questions about course progress and access without logging into the Miho UI per ticket.

Example prompt: Call GET /enrollments filtered by the learner id and return the active course ids in a single response

### Agent Integration via Jentic

An AI agent built on Jentic can search for the Miho course and enrollment operations by intent and execute them without holding the API key in agent context. Jentic's your Jentic One instance holds the credential and returns scoped access at call time, which is helpful when the same agent automates onboarding across multiple education tools.

Example prompt: Use Jentic search for 'list miho courses', load the GET /courses operation, execute it, and feed the returned course ids into a follow-up enrollment call

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/courses` | List the available course catalogue |
| GET | `/enrollments` | List enrollment records, filterable by learner or course |
| POST | `/enrollments` | Create an enrollment record for a learner in a course |

## Key resources

- **Courses** — List the available course catalogue via /courses
- **Enrollments** — Read and create learner enrollment records via /enrollments

## Why Jentic

- **Setup:** Wiring the Miho API by hand means handling its API key auth, targeting the v2 host, and mapping the course and enrollment routes yourself. Through Jentic you install once, import Miho from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Miho addresses courses and enrollments through the request body and query rather than resource ids in the URL path, so you limit the agent to the operations it needs, such as listing courses or reading enrollments. Creating an enrollment is a separate operation that is only available if you include it in the allowed set.
- **Credential handling:** Your Miho API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list Miho courses' or 'enrol a learner in a Miho course', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Schoology** — K-12 LMS API covering courses, sections, and enrollments
- **Moodle** — Open-source LMS API covering courses, users, and enrollments
- **Teachable** — Hosted course platform with checkout and enrollment APIs

## FAQ

### What authentication does the Miho API use?

The Miho API expects an API key passed as the Authorization header. Through Jentic the key is held in your Jentic One instance and a scoped execution token is granted at call time, so the agent never holds the raw key.

### Can I create an enrollment programmatically?

Yes. POST /enrollments with the learner id and course id to grant the learner access to the course. Read the response to confirm the enrollment record was created. This is the integration point for automating fulfilment after a course purchase.

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

The OpenAPI spec does not declare explicit rate limits. Treat the API as standard HTTPS, respect any 429 responses with exponential backoff, and check Miho's account dashboard or your contract for the contractual ceiling.

### How do I list Miho courses through Jentic?

Install the Jentic SDK with pip install jentic, search for 'list miho courses', load the GET /courses operation, and execute it. Run it through Jentic One, the self-hosted execution layer to get a Jentic agent key.

### Why is the spec only 3 endpoints?

This OpenAPI spec covers the courses and enrollments slice of Miho's wider platform. It is the minimum surface needed for catalogue display and enrollment automation. Additional Miho features such as content delivery or progress tracking are not exposed in this version of the spec.

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

Yes. Because you run Jentic One yourself, your own rules decide which Miho operations and which stored credential the agent may use at call time. You can allow read-only work such as listing courses with GET /courses or reading enrollment records with GET /enrollments, while withholding the separate POST /enrollments operation that creates an enrollment. Since Miho addresses courses and enrollments through the request body and query rather than resource ids in the URL path, scoping is done per operation, so an agent gets write access only when you add the create-enrollment operation to its allowed set.
