Generated Authorization Schema#
This page renders the exact validation rules from the authz JSON Schema. See the Authorization Schema Reference for guidance, examples, and validation performed by the compiler across schema contributions.
Top-level fields#
schema_version#
The authorization schema format version. Quote this value in YAML so it remains a string.
type |
string |
examples |
1.0 |
const |
1.0 |
priority#
The precedence used when contributions extend the same role. A higher number takes precedence when extensions conflict.
type |
integer |
examples |
100 |
permission_categories#
Permission categories contributed by this file. Categories group permissions for display and discovery but do not grant access.
type |
array |
|
examples |
id |
course_content |
display_name |
Course content |
|
description |
Permissions for viewing and editing course content. |
|
icon |
Article |
|
minItems |
1 |
|
permissions#
Static permissions contributed by this file.
type |
array |
|
examples |
namespace |
courses |
name |
view_course |
|
display_name |
View course |
|
description |
View course configuration and content. |
|
category |
course_content |
|
scopes |
course-v1 |
|
icon |
Visibility |
|
minItems |
1 |
|
roles#
Static roles contributed by this file.
type |
array |
|
examples |
id |
course_observer |
display_name |
Course observer |
|
description |
Reviews a course without changing it. |
|
scopes |
course-v1 |
|
permissions |
courses.view_course |
|
minItems |
1 |
|
role_extensions#
Changes to static roles defined in this file or another contribution.
type |
array |
|
examples |
role |
course_editor |
add_permissions |
courses.export_course |
|
minItems |
1 |
|
Permission category fields#
Category id#
The global category identifier.
examples |
course_content |
#/$defs/identifier |
|
Category display_name#
examples |
Course content |
#/$defs/display_name |
|
Category description#
examples |
Permissions for viewing and editing course content. |
#/$defs/description |
|
Category icon#
examples |
Article |
#/$defs/icon |
|
Permission fields#
Permission namespace#
The stable product domain that owns the permission.
examples |
courses |
#/$defs/identifier |
|
Permission name#
The operation within the product domain, normally beginning with a verb.
examples |
view_course |
#/$defs/identifier |
|
Permission display_name#
examples |
View course |
#/$defs/display_name |
|
Permission description#
examples |
View course configuration and content. |
#/$defs/description |
|
Permission category#
The ID of a permission category in the combined schema.
examples |
course_content |
#/$defs/identifier |
|
Permission scopes#
The scope namespaces where this permission can apply.
examples |
course-v1 |
#/$defs/scope_list |
|
Permission icon#
examples |
Visibility |
#/$defs/icon |
|
Role fields#
Role id#
The stable role identifier.
examples |
course_observer |
#/$defs/identifier |
|
Role display_name#
examples |
Course observer |
#/$defs/display_name |
|
Role description#
examples |
Reviews a course without changing it. |
#/$defs/description |
|
Role scopes#
The scope namespaces where this role can be assigned.
examples |
course-v1 |
#/$defs/scope_list |
|
Role permissions#
Every permission assigned to this role. Permissions are not inferred from other permissions.
examples |
courses.view_course |
#/$defs/permission_list |
|
Role icon#
examples |
Visibility |
#/$defs/icon |
|
Role hidden#
Whether normal role discovery and selection interfaces omit this role.
type |
boolean |
examples |
False |
default |
False |
Role extension fields#
Extension role#
The ID of the static role to change.
examples |
course_editor |
#/$defs/identifier |
|
Extension add_permissions#
Complete permission IDs to add to the role.
examples |
courses.export_course |
#/$defs/permission_list |
|
Extension remove_permissions#
Complete permission IDs to remove from the role.
examples |
courses.manage_tags |
#/$defs/permission_list |
|
Extension display_name#
A replacement source-language display name.
examples |
Course author |
#/$defs/display_name |
|
Extension description#
A replacement source-language description.
examples |
Creates and exports course content. |
#/$defs/description |
|
Extension icon#
A replacement Paragon icon name.
examples |
Edit |
#/$defs/icon |
|
Extension hidden#
Whether normal role discovery and selection interfaces omit this role.
type |
boolean |
examples |
True |