Skip to main content
The guided page at kralis.app/onboard uses the public Kralis GraphQL onboarding operations. They do not require an existing user because they create the first school and administrator account.
School onboarding is available through GraphQL only. There is no REST onboarding equivalent.

Public operations

These operations may be called anonymously, but they cannot be combined in one request with protected operations. Public request limits still apply.

Suggest an acronym

Suggestions are conveniences, not reservations. Check the final value immediately before submission and still handle an availability error from onboardSchool.

Check an acronym

The returned acronym is normalized. Display reason when available is false.

Create the school

School and administrator creation is atomic: a failure creating the administrator does not leave a partially onboarded school. A successful response returns the initial administrator ID and PIN once so the client can show them to the operator. Do not log, email through an untrusted service, or retain the PIN in analytics. accessCode is present only when onboarding starts a supported payment transaction. When it is null, continue to the success screen without opening a payment flow.

Validation errors

Onboarding validation uses a stable GraphQL error code and field details:
Map fieldErrors to the corresponding controls and show the top-level message as a form summary. For a transport or unexpected server failure, keep the entered draft and offer a safe retry rather than submitting repeatedly in the background.

After onboarding

Use the returned adminId and adminPin with the GraphQL login mutation. Then complete years, terms, classes, users, permissions, modules, and billing configuration in Kralis Web before relying on those records in a custom client. See Authentication and Developer Quickstart.