Circulares are school-wide announcements published by directors and delivered to a targeted audience of role groups. Every circular carries aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/andrespaul123/micole-flutter/llms.txt
Use this file to discover all available pages before exploring further.
target that determines which user roles receive it (e.g. teachers, parents, or everyone), and each recipient has an individual leido flag that tracks whether they have opened the circular.
Route Map
| Route | Screen | Description |
|---|---|---|
/circulares | CircularListScreen | Inbox of all circulars visible to the authenticated user |
/circulares/create | CircularCreateScreen | Form to compose and publish a new circular (directors only) |
/circulares/:id | CircularDetailScreen | Full content of a single circular |
Circular Model
Circular record ID.
Short headline of the circular.
Full body text of the announcement.
Role group that receives this circular. Accepted values include
"profesores", "padres", and "all". See Target Values below.ISO timestamp of when the circular was published. Mapped from
published_at.Whether the authenticated user has read this circular. Resolved from the first entry of the
users pivot array returned by the API.Display name of the director who created the circular. Resolved from
creator.name.CircularRepository
Method Reference
| Method | HTTP | Endpoint | Description |
|---|---|---|---|
getCirculares() | GET | /circulares | Fetch all circulars for the authenticated user |
getCircularById(id) | GET | /circulares/:id | Fetch a single circular by ID |
createCircular(titulo, contenido, target) | POST | /circulares | Publish a new circular |
marcarLeido(id) | POST | /circulares/:id/leer | Mark a circular as read |
deleteCircular(id) | DELETE | /circulares/:id | Permanently delete a circular |
The target Field
The target value controls which authenticated users see a circular in their inbox. The following values are recognised by the platform:
| Value | Audience |
|---|---|
"profesores" | All teachers enrolled in the tenant |
"padres" | All parent accounts linked to the tenant |
"all" | Every user in the tenant regardless of role |
Creating a Circular
Directors can publish a new circular from the/circulares/create screen. The repository method accepts the three required fields and performs a POST to /circulares.
Marking a Circular as Read
User opens the detail screen
The app navigates to
/circulares/:id, which triggers CircularRepository.getCircularById(id) to load the full content.Call marcarLeido
Immediately after the content renders, call
marcarLeido(id) to record the read event on the server.Deleting a Circular
Only the director who created a circular (or a super-admin) should be allowed to delete it. The app should confirm the action with the user before callingdeleteCircular.
DELETE /circulares/:id