Skip to main content

Create School (Admin)

Create a new school in the system. Requires super-admin permissions. School settings are automatically initialized.

Request Body


Update School (Admin)

Update school information and settings. All fields are optional; only provided fields will be updated.

Path Parameters

Request Body


Update Current School

Update information for the current school. School administrators can update their own school’s information and settings.

Request Body

Same structure as the admin update endpoint, but operates on the current user’s school.

Delete School (Admin)

Permanently delete a school and all associated data. Use with extreme caution.

Path Parameters

Permissions

EndpointRequired Permission
Create Schoolmanage:schools
Update School (Admin)manage:schools
Update Current Schoolconfig:institution or write:all
Delete Schoolmanage:schools

Settings Configuration Guide

SIMAT Settings Example

{
  "simat_settings": {
    "enabled": true,
    "institution_code": "123456",
    "municipality_code": "05001",
    "sync_frequency_hours": 24,
    "auto_sync_enabled": true
  }
}

Branding Settings Example

{
  "branding_settings": {
    "primary_color": "#0066CC",
    "secondary_color": "#34A853",
    "logo_r2_object_key": "school-uuid/school/logos/logo.png",
    "favicon_r2_object_key": "school-uuid/school/logos/favicon.ico",
    "files": [
      {
        "file_name": "logo.png",
        "folder": "logos",
        "r2_object_key": "school-uuid/school/logos/logo.png",
        "uploaded_at": "2026-03-01T10:00:00Z"
      }
    ]
  }
}

Security Settings Example

{
  "security_settings": {
    "require_2fa": true,
    "session_timeout_minutes": 480,
    "password_policy": {
      "min_length": 8,
      "require_uppercase": true,
      "require_lowercase": true,
      "require_numbers": true,
      "require_special": true
    },
    "ip_whitelist": []
  }
}

Best Practices

Build docs developers (and LLMs) love