Skip to main content

DocumentationInstructors

Instructor quickstart

Create a class, hand students a join link, and put credits in the institution pool. You can do this on the website or in chat, after an agent is connected.

Who does what

  • The institution owner creates the institution, creates classes, shares join links, buys credits, and can set a per-student spending cap.
  • A school admin can create classes in a school they administer. On the website they can also fund the credit pool. In chat they can move their own personal credits into the pool.
  • A teacher opens the classes they teach. Creating a class, sharing a join link, and buying credits stay with an admin.

Chat setup uses Ludwitt MCP. The connection steps are on the MCP guide. In chat, creating an institution, a join link, or a checkout requires a verified email. If a tool says the email is unverified, resend verification with account_resend_verification and wait until the email is verified.

1. Open or create an institution

On the website, start at institution signup. Enter the institution name and type (K-12, university, or enterprise) and create the admin account. You become the owner. Ludwitt creates a sandbox with 5 seats and a school named Main campus, and sends a verification email. If that work-email domain already belongs to an institution, signup stops and you join through that institution’s admin. Personal email domains are not claimed as an institution domain.

If you already belong to an institution, sign in. The instructor console needs one selected. When none is selected, Ludwitt sends you to your institutions so you can pick one. Admins land in the institution console. Teachers land on the instructor home.

In chat, call educator_list_orgs. If the list is empty, call educator_create_org with a name and a type of k12, university, or enterprise. A K-12 institution also requires attestsAuthority: true, confirming you represent the school. You become the owner, and the result includes the default school. You can create one institution per 24 hours, and three in total. This needs the orgs:write scope.

2. Create a class

On the website, an owner or school admin opens Classes and chooses Create Class. The class needs a name, a school, and an instructor. You can also set a subject (Math, Reading, Logic, Latin, Greek, Writing, or General), a grade from kindergarten through 12, a period, and a maximum number of students. Students are added after the class exists. A teacher’s class list has no Create Class button.

In chat, call educator_create_class with the institution id, the school id, a name, and instructorId set to "me" (or another person’s user id). The same optional fields are available. Only an owner or a school admin can create a class, and the key or sign-in needs classes:write.

The assigned teacher then opens Instructor home or My classes. That list can also include fellowship cohorts the teacher is on. This create step is the standard class. Submissions waiting for review are on Coursework.

3. Share a join link

The institution owner opens Students. Under Student invite link, add an optional name (up to 80 characters), days until expiry, and a maximum number of joins. Leave expiry or the maximum blank for a link with no end date or no cap. When you set them, expiry is 1 to 365 days and the cap is 1 to 10,000 joins. An institution can have 25 active links. Create the link and copy the URL. It is a /join/… address on this site.

In chat, the owner calls educator_create_join_link with the institution id. Optional fields are label, expiresInDays, and maxUses, with the same limits. The tool returns the URL. educator_list_join_links lists links, including ones that are off, expired, or full. educator_revoke_join_link turns one off. These need a verified email and invites:write (listing needs invites:read).

A student opens the link. If they are signed out, they sign in or create an account and are enrolled as a student, then can start Basics. Someone who is already a member stays in their current role. A link that is turned off, expired, full, or past the institution’s seat limit does not enroll anyone new. Turning a link off leaves people who already joined enrolled. A new sandbox has 5 seats. The first successful credit funding, below, raises that limit to 100.

Email invites are a separate path. On the website the owner uses Invite on the Students page. In chat, educator_invite_members sends a setup email and does not return a password link. Pending invites can be listed, resent, or revoked with educator_list_invites, educator_resend_invite, and educator_revoke_invite.

4. Buy and use credits

Personal credits and the institution pool are separate. A new Basics learner receives $5 once, when they pick a starting grade. More personal credits are on Pricing: $5, $10, $25, $50, $100, or $250, paid through Stripe, then available at Account → Credits. The balance stays until it is used. AI use is charged from the tokens the model actually uses.

The institution pool is what students and teachers draw on for institution AI. An owner or school admin opens Plan & billing and chooses Credits.

  • Add funds opens Stripe Checkout for $5 to $500. The person pays in the browser. Ludwitt does not take a card number in chat or in the admin form.
  • Use my credits moves $5 to $500 from that admin’s personal balance into the pool. It does not charge a card.

The first successful funding of a sandbox — a paid deposit or a personal transfer — raises the seat limit from 5 to 100.

In chat, the owner calls educator_get_credits (billing:read). To move personal credits, the owner or a school admin calls educator_transfer_personal_credits with amountCents from 500 to 50000. To pay by card, the owner calls educator_create_credit_checkout with the same range. The tool returns a checkoutUrl and a sessionId. The person opens the link and pays. Poll educator_get_checkout_status until credited is true. Checkout and transfers need billing:write. An API key with an empty scope list does not include billing:write; add that scope, or approve it on the sign-in consent screen. See the MCP guide for how to connect.

When institution credits apply to a membership, that person’s AI use is drawn from the pool. An owner or school admin can set or clear a per-student cap on the Credits tab, monthly or for all time. In chat, the owner uses educator_set_student_cap with capCents (or null to clear it) and capPeriod of monthly or all-time. Class and student progress are educator_get_class_progress, educator_get_student_progress, and educator_needs_attention, which need progress:read.