Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the LMS Aqparattyq Sana - Course Service API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Flms.kz%2Flms-kz" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Flms.kz%2Flms-kz" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with LMS Aqparattyq Sana - Course Service API.
Create courses with titles and descriptions in Russian, Kazakh, English, and Uzbek through the title_ru, title_kz, title_en, and title_uz fields
List an organization's courses or only global ones with listCourses using organization_id, is_global, and pagination
Add ordered sections to a course with createSection using course_id and order_index
Create lesson topics in a section with multilingual content plus youtube_url and google_slides_url links
GET STARTED
Enable certification and set a passing_score when updating a course
Mark a topic as completed for a learner with completeTopicForUser
Read a learner's course progress_percent, status, and completed_topics with getCourseProgress
Patterns agents use LMS Aqparattyq Sana - Course Service API for, with concrete tasks.
★ Agent-built multilingual courses through Jentic
An agent asks Jentic for the lms.kz course-creation operations, calls createCourse with titles and descriptions in Russian, Kazakh, English, and Uzbek, then adds sections with createSection and lesson topics with createTopic in the right order_index. The JWT bearer token stays in your self-hosted Jentic One instance.
Search Jentic for 'create a course on lms.kz', call createCourse with title_ru, title_kz, title_en, and created_by_user_id 7, then call createSection with the returned course id as course_id and order_index 1
Lesson content with video and slides
Course authors create topics inside a section with createTopic, filling the per-language content fields and attaching a youtube_url for the lesson video or a google_slides_url for the deck. listTopics returns a section's topics so an agent can check order before adding more.
Call createTopic with section_id 12, order_index 3, title_en 'Variables', and youtube_url 'https://www.youtube.com/watch?v=abc123'
Learner progress tracking
When a learner finishes a lesson, the application calls completeTopicForUser with user_id and topic_id. getCourseProgress with user_id and course_id then returns the course status, progress_percent, and completed_topics, which a reporting job can use to find learners who have stalled.
Call completeTopicForUser with user_id 42 and topic_id 502, then call getCourseProgress with user_id 42 and course_id 3 and report progress_percent
12 endpoints — the lms aqparattyq sana course service api organizes learning content on the lms.
METHOD
PATH
DESCRIPTION
/courses
Create a course
/courses/list
List courses
/courses/{id}
Get a course
/courses/sections
Create a section
/courses/topics
Create a topic
/courses/progress/complete
Mark a topic as completed
/courses/progress
Get a learner's course progress
/courses
Create a course
/courses/list
List courses
/courses/{id}
Get a course
/courses/sections
Create a section
/courses/topics
Create a topic
/courses/progress/complete
Mark a topic as completed
/courses/progress
Get a learner's course progress
What agents get from Jentic-routed access to this vendor.
Setup
Wiring this course service by hand means attaching its JWT bearer token, filling four language variants per field, and sequencing course, section, and topic creation yourself. Through Jentic you install once, import it from the API Directory, store the token once, and your agent calls it.
Permission scoping
Course reads and updates put the course id in the URL path, but creating sections, topics, and progress records carries course_id, section_id, and user_id in the request body, so rules mainly bound which operations your agent may call. You choose the operations it may call, so destructive ones like deleteCourse are not included unless you add them.
Credential isolation
Your lms.kz token 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.
Intent-based discovery
Agents search Jentic by intent such as 'create a course section' or 'get learner progress', and Jentic returns the matching lms.kz operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using LMS Aqparattyq Sana - Course Service API through Jentic.
What authentication does the LMS Aqparattyq Sana Course Service API use?
Per its OpenAPI spec, the API uses an HTTP bearer scheme with a JWT obtained at login, sent as `Authorization: Bearer`. Through Jentic the token is stored encrypted by your own Jentic One instance and injected at call time, so it never enters the agent's prompt or logs.
Which languages does the lms.kz Course Service API support?
Courses, sections, and topics carry separate fields for Russian, Kazakh, English, and Uzbek, such as title_ru, title_kz, title_en, and title_uz, plus matching description and content fields. You can fill any subset when creating a course or topic.
What are the rate limits for the lms.kz Course Service API?
The OpenAPI spec does not specify rate limits. Check with the lms.kz platform team for current limits before running large course imports.
How do I record lesson completion with the lms.kz Course Service API through Jentic?
Install Jentic One with `curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh`, add the API from the Jentic API Directory, and have your agent search for 'mark a topic as completed'. Jentic returns completeTopicForUser (POST /courses/progress/complete) with its schema, and the agent sends user_id and topic_id. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Is there an lms.kz MCP server?
You don't need an MCP server to give your agent the lms.kz Course Service API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it, with operations discovered on demand.
Can I limit what my agent is allowed to do with the lms.kz Course Service API?
Yes. For a progress-reporting agent, write a rule that allows only listCourses, getCourse, listSections, listTopics, and getCourseProgress. The agent can read course structure and learner progress, but deleteCourse, updateCourse, and completeTopicForUser are outside the allowed set, and every call it makes is logged.
Can I add a YouTube video to a lesson with the lms.kz Course Service API?
Yes. POST /courses/topics accepts a youtube_url and a google_slides_url alongside the multilingual title and content fields. section_id and order_index are required to place the topic inside a section.
Know of an official OpenAPI document? Contribute it →
For Agents
Create multilingual courses (RU, KZ, EN, UZ) on lms.kz, add ordered sections and topics with YouTube or Google Slides links, mark topics complete for a learner, and read course progress.
Use for: Create a new course with Kazakh and Russian titles, List all courses for organization 5, Add a third section to the onboarding course, I want to add a topic with a YouTube lesson video
Not supported: Does not handle quizzes and grading, learner accounts and enrolment, or course payments. Use for building multilingual course structure and tracking topic completion only.
The LMS Aqparattyq Sana Course Service API organizes learning content on the lms.kz platform into courses, sections, and topics, with every title and description stored in four languages: Russian, Kazakh, English, and Uzbek. Courses can be global or belong to an organization, sections are ordered inside a course, and topics carry lesson content along with optional YouTube and Google Slides links. Progress tracking marks topics as completed for a user and returns a course status, progress percentage, and the list of completed topics.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>