Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Kourses 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%2Fkourses.com%2Fkourses" | 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%2Fkourses.com%2Fkourses" | 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 Kourses API.
Create a new member record on a Kourses subdomain with name and email
List all published memberships available on a Kourses site
Inspect which memberships a specific member currently holds
Grant a member access to a named membership tier through a permissions call
Revoke a member's access to a membership when a subscription lapses or is cancelled
GET STARTED
Generate a 5-minute single-use SSO login link to drop a member straight into the course site
Patterns agents use Kourses API for, with concrete tasks.
★ Post-checkout learner provisioning
When a customer purchases a course bundle through Stripe or another payment processor, the merchant calls the Kourses API to create the member, grant access to the matching membership tier, and return a single-use login link in the receipt email. Kourses handles content gating and progress tracking on its own platform. The full flow uses three sequential calls and is typically wired up in half a day.
Create a member with POST /members using the buyer's email, then call POST /members/{member}/memberships/{membership}/permissions with the purchased tier and return an SSO login link from POST /members/{member}/login-link.
Subscription lifecycle access control
When a recurring subscription lapses or is cancelled in the billing system, the merchant calls Kourses to revoke the corresponding membership permission so the learner loses access to the gated content. The Kourses API exposes both grant and revoke operations on the same permissions endpoint with different methods, making the logic symmetric and easy to wire into webhook handlers.
On a subscription cancellation event, call DELETE /members/{member}/memberships/{membership}/permissions with the lapsed tier to remove access.
SSO from a partner site
A community or content site that already has its users authenticated wants to drop logged-in users straight into Kourses without a second login. POST /members/{member}/login-link returns a 5-minute single-use URL that authenticates the member on the Kourses subdomain. This pattern keeps the user experience seamless while keeping credentials out of the partner code.
Generate an SSO link by calling POST /members/{member}/login-link for member ID 'm_4821' and redirect the browser to the returned URL.
Agent-driven onboarding via Jentic
An onboarding agent searches Jentic for 'create lms member' and is matched to the Kourses POST /members operation. The agent reads the new buyer's data from the source system, executes the create call through Jentic, and follows up with a permissions grant - all without storing the bearer token in its conversation context.
Use the Jentic MCP tool kourses_create_member to register a new learner with email 'jane@example.com' and grant them the 'pro' membership.
6 endpoints — jentic publishes the only available openapi specification for kourses api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/members
Create a new member
/memberships
List all published memberships
/members/{member}/memberships
List a member's memberships
/members/{member}/memberships/{membership}/permissions
Grant membership access
/members/{member}/memberships/{membership}/permissions
Revoke membership access
/members/{member}/login-link
Generate an SSO login link
/members
Create a new member
/memberships
List all published memberships
/members/{member}/memberships
List a member's memberships
/members/{member}/memberships/{membership}/permissions
Grant membership access
/members/{member}/memberships/{membership}/permissions
Revoke membership access
/members/{member}/login-link
Generate an SSO login link
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Kourses API by hand means handling its bearer auth and building the request against your own mykourses.com subdomain host for every member and membership call. Through Jentic you install once, import the Kourses API from the API Directory, store the token once, and your agent calls it.
Permission scoping
Kourses puts the member id in the URL path (/members/{member}/memberships/...), so a rule can pin your agent to one member: it can read that member's memberships and mint a login link and nothing else. You choose the operations it may call, so revoking permissions with the DELETE operation is not included unless you add it.
Credential isolation
Your Kourses bearer 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 an LMS member' or 'grant course access', and Jentic returns the matching Kourses operation with its input schema so the correct member and membership ids are explicit without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Stripe
Handles the payment that triggers a Kourses membership grant
Pair Stripe checkout with Kourses to create members and grant tiers when a purchase completes.
Specific to using Kourses API through Jentic.
Why is there no official OpenAPI spec for Kourses API?
Kourses does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Kourses 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 Kourses API use?
The API uses a bearer token issued per Kourses subdomain (bearerAuth scheme). Jentic stores the token encrypted in your Jentic One instance and injects it in the Authorization header at request time.
Can I revoke a member's access to a course with the Kourses API?
Yes. Call DELETE /members/{member}/memberships/{membership}/permissions with the relevant member ID and membership ID. The same path with POST grants access, so subscription lifecycle handlers can mirror their logic.
How long is a Kourses SSO login link valid?
Login links from POST /members/{member}/login-link expire after 5 minutes and are single-use. Generate a fresh link each time you redirect a user into the course site.
How do I provision a new learner through Jentic?
Search Jentic for 'create kourses member', load POST /members, and execute it with the learner's email and name. Chain it with POST /members/{member}/memberships/{membership}/permissions to grant access. Install with pip install jentic.
Does the Kourses API expose course content or progress data?
No. The Kourses API surface is limited to membership management - creating members, granting and revoking permissions, and generating login links. Course content authoring and progress tracking happen inside the Kourses platform UI.
Can I limit what my agent is allowed to do with the Kourses API?
Yes. Because you run Jentic One yourself, your own rules decide which Kourses operations and credentials the agent may use. Since Kourses puts the member id in the URL path, you can pin the agent to a single member so it only reads that member's memberships and mints a login link. You also pick the exact operations it may call, so the DELETE revoke-permissions operation stays off limits unless you explicitly add it.
Know of an official OpenAPI document? Contribute it →
For Agents
Provision learners on the Kourses LMS - create members, grant or revoke membership access, and generate SSO login links - from an external signup or payment workflow.
Use for: Create a new Kourses member from a Stripe payment success, Grant a member access to the Pro membership tier, Revoke a member's access when their subscription cancels, Generate a single sign-on link for a course member
Not supported: Does not handle course content authoring, progress tracking, or payment processing - use for member provisioning, membership permissions, and SSO links only.
Jentic publishes the only available OpenAPI specification for Kourses API, keeping it validated and agent-ready. The Kourses API is the integration layer for the Kourses online course and membership platform, exposing endpoints to create members, list and grant memberships, manage permissions, and generate single-use SSO login links for members. It is designed for course creators who want to provision learners from external CRM, payment, or signup systems and grant or revoke access to specific membership tiers programmatically. Authentication uses a bearer token issued per Kourses subdomain.