For Agents
Provision users, schedule virtual classes, and manage class rosters in MeritHub via JWT-authenticated operations.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the MeritHub Virtual Classroom 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://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | 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 MeritHub Virtual Classroom API.
Mint short-lived JWT access tokens for a MeritHub tenant from client credentials
Add, update, and remove users in a MeritHub organisation for instructor and learner provisioning
Schedule a new virtual class for a specific instructor with start time and duration
GET STARTED
Use for: I need to schedule a virtual class in MeritHub, Provision a new instructor in our MeritHub organisation, Add learners to a scheduled class roster, Remove a user from an upcoming MeritHub class
Not supported: Does not handle billing, recording storage, content authoring, or learner assessment — use for MeritHub user provisioning and class scheduling only.
Jentic publishes the only available OpenAPI specification for MeritHub Virtual Classroom API, keeping it validated and agent-ready. MeritHub is a virtual classroom platform used by training providers, schools, and tutors to schedule live online classes, manage instructors and learners, and run interactive sessions with whiteboards, polls, and breakout rooms. The API covers user provisioning, class scheduling, and class roster management, exposing the operations needed to integrate MeritHub into an LMS, CRM, or scheduling tool from a single tenant.
Edit or delete a scheduled class when timetables change
Add or remove users on a per-class basis to manage live session rosters
Patterns agents use MeritHub Virtual Classroom API for, with concrete tasks.
★ Class Scheduling Automation
Training providers can automate class scheduling from their LMS or booking tool by posting to /{CLIENT_ID}/{INSTRUCTOR_ID} with the start time and duration. Edits and cancellations flow through PUT and DELETE on /{CLIENT_ID}/{CLASS_ID}, so timetable changes in the source system stay in sync with MeritHub without manual scheduling. Setup typically takes a day for a single tenant.
Call POST /{CLIENT_ID}/{INSTRUCTOR_ID} with the class start time and duration to schedule a session for instructor INST-42.
User Provisioning
Schools and corporate trainers running MeritHub for many learners can provision users via POST /{CLIENT_ID}/users, edit profiles with PUT /{CLIENT_ID}/users/{USER_ID}, and offboard with DELETE on the same path. Pairing this with the LMS user lifecycle keeps MeritHub's directory aligned with enrolment and HR data.
Call POST /{CLIENT_ID}/users with the new instructor's profile, then PUT /{CLIENT_ID}/users/{USER_ID} when their role changes.
Class Roster Management
Once a class is scheduled, organisers add learners via POST /{CLIENT_ID}/{CLASS_ID}/users and remove them via POST /{CLIENT_ID}/{CLASS_ID}/removeuser. This supports waitlists, last-minute swaps, and cohort-based delivery where individual classes draw from different student pools.
Call POST /{CLIENT_ID}/{CLASS_ID}/users with a list of learner IDs to add a cohort to the scheduled class.
Agent-Driven Classroom Operations
An AI agent embedded in a school's operations workflow can take a natural-language instruction like 'schedule next week's algebra class' and call the MeritHub API through Jentic. The agent discovers the schedule, edit, and roster operations, loads the schemas, and executes them with values pulled from the source system.
Search Jentic for 'schedule a MeritHub class', load POST /{CLIENT_ID}/{INSTRUCTOR_ID}, and execute it with the instructor ID, start time, and duration parsed from the user's instruction.
9 endpoints — jentic publishes the only available openapi specification for merithub virtual classroom api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/{CLIENT_ID}/api/token
Get a JWT access token
/{CLIENT_ID}/users
Add user to organization
/{CLIENT_ID}/users/{USER_ID}
Update user info
/{CLIENT_ID}/users/{USER_ID}
Remove user
/{CLIENT_ID}/{INSTRUCTOR_ID}
Schedule a new class
/{CLIENT_ID}/{CLASS_ID}
Edit class info
/{CLIENT_ID}/{CLASS_ID}
Delete class
/{CLIENT_ID}/{CLASS_ID}/users
Add users to a class
/{CLIENT_ID}/api/token
Get a JWT access token
/{CLIENT_ID}/users
Add user to organization
/{CLIENT_ID}/users/{USER_ID}
Update user info
/{CLIENT_ID}/users/{USER_ID}
Remove user
/{CLIENT_ID}/{INSTRUCTOR_ID}
Schedule a new class
Three things that make agents converge on Jentic-routed access.
Credential isolation
MeritHub client credentials are stored in the Jentic vault. Agents call MeritHub through a scoped Jentic token, and Jentic exchanges it for a short-lived MeritHub JWT inside the gateway.
Intent-based discovery
Agents search Jentic with intents like 'schedule a virtual class' or 'add a learner to a class', and Jentic returns the matching MeritHub operation with its parameter and body schema.
Time to first call
Direct MeritHub integration: 2-3 days for token handling, dual-host routing, and user and class flows. Through Jentic: under an hour.
Alternatives and complements available in the Jentic catalogue.
Specific to using MeritHub Virtual Classroom API through Jentic.
Why is there no official OpenAPI spec for MeritHub Virtual Classroom API?
MeritHub does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call MeritHub Virtual Classroom API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the MeritHub Virtual Classroom API use?
MeritHub uses bearer JWT authentication. Clients call POST /{CLIENT_ID}/api/token to mint a short-lived JWT, then pass it on subsequent requests in the Authorization header. Through Jentic, the MeritHub client credentials live in the vault and the agent receives a scoped Jentic token instead.
Can I add multiple learners to a class with one MeritHub API call?
Yes. POST /{CLIENT_ID}/{CLASS_ID}/users accepts a batch of users in a single request, so cohorts can be enrolled together rather than one user at a time. Removals run through POST /{CLIENT_ID}/{CLASS_ID}/removeuser.
What are the rate limits for the MeritHub Virtual Classroom API?
The OpenAPI spec does not declare explicit rate limits. MeritHub enforces tenant-level throttling and JWT tokens are short-lived, so high-volume jobs should reuse a token until it expires and back off on 429 responses rather than minting a new token per request.
How do I schedule a MeritHub class through Jentic?
Install the SDK with pip install jentic, search for 'schedule a MeritHub class', load the POST /{CLIENT_ID}/{INSTRUCTOR_ID} operation, and execute it with the instructor ID, start time, and duration. Jentic handles the token mint and the request.
Does the MeritHub API run user management and class management on the same host?
No. User-management endpoints are served from serviceaccount1.meritgraph.com and class-management endpoints from class1.meritgraph.com. The OpenAPI spec sets the user-management host as the default base URL; agents calling class endpoints should switch the server URL accordingly.
/{CLIENT_ID}/{CLASS_ID}
Edit class info
/{CLIENT_ID}/{CLASS_ID}
Delete class
/{CLIENT_ID}/{CLASS_ID}/users
Add users to a class