Skip to content

Authorization Model

Once your application is authenticated, authorization controls what it can do — specifically, which Untis Platform APIs it can call, which operations it can perform, and which data it can read or write. This page explains how that access-control model works at a conceptual level. For how to obtain tokens, see Authentication Model.

Scopes & Permissions

Scopes control which APIs and operations your application can access. Permissions are configured per application during registration.

User & Role Context

Authorization results differ based on whether a user or the application itself is authenticated, and which role that user holds.

Tenant Isolation

Every school is a separate tenant. Credentials, tokens, and data are fully isolated — one set of credentials cannot access another school’s data.


Scopes appear in token requests and determine which API families and operations are available to your integration.

openidRequired for OIDC authentication — always include
roster-core.readonlyRead-only access to OneRoster Core endpoints
Additional scopesMap to specific API permissions — see API Reference

Permissions are configured per platform application during registration in the Platform Application Manager. The full list of configurable permissions (student masterdata, teacher masterdata, timetable, etc.) is managed there — see the API Reference for which permission each endpoint requires.


Authorization results depend on the authenticated context:

Server-to-serverApplication is authenticated via Client Credentials. Permissions are based on the platform application’s configuration only.
User contextA specific user is authenticated via Authorization Code. Permissions are based on application config AND the user’s role and school membership.
User identityAlways use the sub claim from the token to identify users. Call the OneRoster users endpoint to retrieve user details.
untis-profile scopeNot backwards-compatible — do not use it. Use sub + OneRoster API instead.

Authorization is tenant-scoped. Every school is a separate tenant and access is strictly isolated.

Provisioned per tenantEach school activation delivers separate credentials for that school only
Tokens are tenant-specificA token for school A cannot access data from school B
Store credentials per tenantYour application must manage credentials and data independently per school
Tenant metadatacountry, region, and language fields in the credentials transfer payload are informational — not access-control rules