Skip to main content
Kralis is a multi-school platform. The authenticated user’s school is the tenant boundary for normal application work.

Home school and active school

Most clients only work with one school at a time. The API exposes the current school context so a client does not need to invent or accept arbitrary school identifiers: For an ordinary school user, the home and active schools are the same. Kralis support operators may have an internal support context that differs, but public clients must not treat that as a general multi-school capability or offer an arbitrary school switcher. The API still enforces the active school, permissions, object state, and any relationship-based restrictions on every operation. When a client needs the signed-in user’s own profile, use authUser. When it needs the school currently governing the request, use authSchool. Do not assume that a broad users query is a substitute for either value.

Client responsibilities

Roles and relationships

Access may depend on more than a broad role. A teacher’s classes or subjects, a student’s class and section, an LMS enrollment, a CBT session’s eligibility, or a Classroom access grant can narrow what the user may see and do.

IDs

Use IDs from authenticated responses for follow-up GraphQL operations. Do not derive authorization from a school acronym, name, slug, or a copied URL; the API applies the signed-in user’s school and role.

Diagnosing missing data

A globally privileged-looking account is not permission to mix schools in a public client. Render and operate within the school context authorized by the API.