Cole’s teacher management spans two concerns: professor profiles (who a teacher is and which subjects they can teach) and asignaciones docentes (which specific class section, within a period, a teacher is actually scheduled to deliver). Creating an asignación automatically validates schedule conflicts for both the professor and the target section, ensuring no double-booking occurs. All requests must include a validDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/iamalexis689725/cole/llms.txt
Use this file to discover all available pages before exploring further.
Bearer token. Routes marked director require the authenticated user to hold the director role.
Profesores
List Professors
Requires
role:director.Create Professor
Requires
role:director.profesor role, and creates the linked professor profile in one atomic operation.
Request Body
Full name of the teacher, e.g.
"Carlos Mendoza".Unique email address used for login. Must not already exist in the
users
table.Initial password. Minimum 6 characters. Stored as a bcrypt hash.
Unique teacher code within the tenant, e.g.
"PROF-001". Scoped to
tenant_id, so the same code can exist across different schools.Optional specialization label, e.g.
"Matemáticas" or "Ciencias".201 Created
Human-readable confirmation message.
| Status | Condition |
|---|---|
422 Unprocessable Entity | Validation failed (e.g. duplicate email or codigo_profesor). |
Get Professor
Requires
role:director.The ID of the professor.
Update Professor
Requires
role:director.The ID of the professor to update.
Updated full name.
Updated email. Must be unique in the
users table, excluding the current
user’s record.New password. Minimum 6 characters. Leave blank to keep the existing
password.
Updated teacher code. Must be unique within the tenant.
Updated specialization.
Delete Professor
Requires
role:director.profesor_subjects), and deletes the linked user account.
Path Parameters
The ID of the professor to delete.
200 OK
Assign Subject to Professor
Requires
role:director.profesor_subject link so the teacher is eligible to be scheduled for that subject. Both the professor and subject must belong to the same tenant.
Request Body
ID of the professor. Must exist within the authenticated tenant.
ID of the subject to assign. Must exist within the same tenant.
201 Created
| Status | Condition |
|---|---|
403 Forbidden | Professor and subject belong to different tenants. |
409 Conflict | Subject is already assigned to this professor. |
422 Unprocessable Entity | profesor_id or subject_id not found within the tenant. |
Remove Subject from Professor
Requires
role:director.profesor_subject link between a professor and a subject.
Request Body
ID of the professor.
ID of the subject to unassign.
200 OK
| Status | Condition |
|---|---|
404 Not Found | The professor–subject relationship does not exist. |
List Professor’s Subjects
Requires
role:director.The ID of the professor.
Get Professor Schedule
Requires
role:director.asignaciones). Entries are grouped by day in calendar order (Lunes → Domingo) and sorted by hora_inicio within each day.
Path Parameters
The ID of the professor.
Keys are day names in Spanish (
Lunes, Martes, …Domingo). Each value
is an array of schedule slots sorted by hora_inicio.The asignación docente ID.
Day name in Spanish.
Start time in
HH:MM:SS format.End time in
HH:MM:SS format.Subject name.
Course name.
Section label.
Asignaciones Docentes
An asignación docente ties a professor, a subject, a course, and a section together within an academic period. It also holds one or more horario slots (day + start/end times). The API prevents double-booking: the same section cannot have two subjects overlapping in time, and the same professor cannot be in two places at once within the same period.List Asignaciones
Requires
role:director.The ID of the academic period.
Filter assignments to a specific subject.
Filter assignments to a specific professor.
Create Asignación
Requires
role:director.- The
curso_idbelongs to the given period. - The professor has the
subject_idassigned to them (profesor_subjectstable). - The
paralelo_idbelongs to thecurso_id. - No existing assignment already exists for that exact combination.
- No time conflicts exist for the section or professor within the period.
The ID of the academic period.
ID of the professor being assigned.
ID of the subject being taught.
ID of the course. Must belong to the given academic period.
ID of the section. Must belong to the given
curso_id.At least one schedule slot is required. Each element must contain
dia,
hora_inicio, and hora_fin.Day of the week in Spanish. Accepted values:
Lunes, Martes,
Miercoles, Jueves, Viernes, Sabado, Domingo.Start time in
HH:MM or HH:MM:SS format, e.g. "07:00".End time in
HH:MM or HH:MM:SS format. Must be after hora_inicio.201 Created
Confirmation message.
| Status | Condition |
|---|---|
422 Unprocessable Entity | Curso does not belong to the period; professor is not assigned to the subject; paralelo does not belong to the curso; schedule conflict for section or professor. |
422 Unprocessable Entity | Duplicate assignment already exists. |
Get Asignación
Requires
role:director.The ID of the academic period.
The ID of the asignación.
Delete Asignación
Requires
role:director.The ID of the academic period.
The ID of the asignación to remove.
200 OK
View Own Classes (Professor)
Requires
role:profesor.profesor record.
Path Parameters
The ID of the academic period.
View Section Schedule
Requires
role:director.The ID of the academic period.
The ID of the course.
The ID of the section.
Add Schedule Slot to Asignación
Requires
role:director.The ID of the asignación docente.
Day of the week. Accepted values:
Lunes, Martes, Miercoles, Jueves,
Viernes, Sabado, Domingo.Start time in
HH:MM or HH:MM:SS format.End time. Must be after
hora_inicio.200 OK
| Status | Condition |
|---|---|
422 Unprocessable Entity | Section already has a subject in that time slot. |
422 Unprocessable Entity | Professor already has a class in that time slot. |
422 Unprocessable Entity | Identical slot already exists on this assignment. |