The academic structure of a Mi Cole school flows from top to bottom: an Academic Period (school year) contains Evaluation Periods (quarters/terms), Courses (grade levels), and Sections (parallels). Subjects are tenant-wide and can be assigned to teachers. Enrollments link students to a course/section within a specific period. All endpoints requireDocumentation 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.
Authorization: Bearer <token>.
Academic Periods
GET /api/periodos
List all academic periods for the authenticated tenant.200 OK
Returns an array of AcademicPeriod objects.
GET /api/periodos/activo
Return the single academic period that is currently marked as active.200 OK
Returns a single AcademicPeriod object.
POST /api/periodos
Create a new academic period.Descriptive name for the academic period (e.g.
"Año Lectivo 2024-2025").Start date in
YYYY-MM-DD format.End date in
YYYY-MM-DD format.Whether this period should be immediately active. Defaults to
false.201 Created
Returns the created AcademicPeriod object.
PATCH /api/periodos/:id/activar
Mark an academic period as the active one (deactivating any currently active period).ID of the academic period to activate.
200 OK
DELETE /api/periodos/:id
Delete an academic period and all its nested data.ID of the academic period to delete.
204 No Content
Evaluation Periods
Evaluation periods (quarters, trimesters, etc.) are nested inside an academic period.GET /api/periodos/:periodoId/periodos-evaluacion
List all evaluation periods for the given academic period.ID of the parent academic period.
200 OK
POST /api/periodos/:periodoId/periodos-evaluacion
Create a new evaluation period within an academic period.ID of the parent academic period.
Name of the evaluation period (e.g.
"Segundo Quimestre").Display order relative to other evaluation periods within the same academic period.
201 Created
Returns the created PeriodoEvaluacion object.
Courses & Sections
GET /api/periodos/:periodoId/cursos
List all courses configured for a specific academic period.ID of the academic period.
200 OK
POST /api/periodos/:periodoId/cursos
Create a new course inside an academic period.ID of the academic period.
Name of the course (e.g.
"Décimo").Education level (e.g.
"Primaria", "Secundaria").Optional free-text description of the course.
201 Created
Returns the created Curso object.
DELETE /api/periodos/:periodoId/cursos/:id
Delete a course from an academic period.ID of the academic period.
ID of the course to delete.
204 No Content
GET /api/periodos/:periodoId/cursos/:cursoId/paralelos
List all sections (paralelos) of a specific course within an academic period.ID of the academic period.
ID of the course.
200 OK
Returns { "data": [ ...Paralelo[] ] }.
GET /api/paralelos
List all sections (paralelos) for the authenticated tenant.200 OK
Returns an array of Paralelo objects.
POST /api/paralelos
Create a new section (paralelo) and associate it with a course.ID of the course this section belongs to.
Section label (e.g.
"A", "B").Shift name (e.g.
"Mañana", "Tarde").Maximum number of students allowed in the section.
201 Created
Returns the created Paralelo object.
DELETE /api/paralelos/:id
Delete a section.ID of the section to delete.
204 No Content
Subjects
Subjects are tenant-wide and reusable across periods.GET /api/subjects
List all subjects for the tenant.200 OK
GET /api/subjects/:id
Retrieve a single subject by ID.ID of the subject.
POST /api/subjects
Create a new subject.Name of the subject.
201 Created
Returns the created Subject object.
PUT /api/subjects/:id
Update the name of an existing subject.ID of the subject to update.
New name for the subject.
200 OK
Returns the updated Subject object.
DELETE /api/subjects/:id
Delete a subject.ID of the subject to delete.
204 No Content
Enrollments
Enrollments link a student to a specific course and section within an academic period.GET /api/periodos/:id/inscripciones
List all enrollments for an academic period.ID of the academic period.
200 OK
Returns an array of Inscripcion objects, each including nested estudiante, curso, and paralelo objects.
POST /api/periodos/:id/inscripciones
Enroll a student in a course and section for the given academic period.ID of the academic period.
ID of the student to enroll.
ID of the course (grade level) to assign the student to.
ID of the section (paralelo) within the course.
201 Created
Returns the created Inscripcion object.
DELETE /api/periodos/:id/inscripciones/:inscripcionId
Remove an enrollment record.ID of the academic period.
ID of the enrollment to delete.
204 No Content
GET /api/periodos/:id/cursos/:cId/paralelos/:pId/estudiantes
Retrieve the list of enrolled students in a specific course section for an academic period.ID of the academic period.
ID of the course.
ID of the section (paralelo).
200 OK
Returns { "estudiantes": [ ...EstudianteClase[] ] }.
AcademicPeriod Model
Unique identifier for the academic period.
Display name of the period (e.g.
"Año Lectivo 2024-2025").Start date in
YYYY-MM-DD format.End date in
YYYY-MM-DD format.true if this is the currently active academic period.