Skip to main content
Kralis uses one SimpleJWT token family across its GraphQL and REST authentication interfaces. The two login interfaces apply the same account, school, and Access-PIN rules and issue compatible access and refresh tokens. Choose one lifecycle and use it consistently in your client.

GraphQL authentication lifecycle

REST authentication lifecycle

Confirm current REST fields in Swagger or ReDoc.

Authorize GraphQL calls

The login response includes a deliberately limited user and school identity plus current academic context. Fetch fuller application data through the appropriate school-scoped GraphQL queries.

Refresh and revocation

Refresh tokens rotate. After a successful refresh, replace both stored tokens with the returned access and refresh; the previous refresh token cannot be reused. If refresh fails, clear local authentication and require sign-in. Do not create an infinite retry loop.

Storage guidance

Never return tokens to logs, error trackers, browser URLs, screenshots, or public support messages.