The Student Portal API gives authenticated students a read-and-submit interface into their academic life: pending tasks and exams, a browsable library of teacher-uploaded resources, subject listings with class schedules, and a full assignment submission system with file attachments. Every student portal endpoint resolves the student record from the token’s authenticated user, so no student ID is needed in the URL for personal data requests. All student-facing endpoints require a valid Sanctum bearer token for a user holding theDocumentation 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.
estudiante role.
Module Requirement
All endpoints under
/api/estudiante/* — except the task submission group — require the estudiantes module to be active for the tenant. If the module is disabled, the middleware will block the request before it reaches the controller. The task submission endpoints (/entrega, /archivos, /entrega-archivos) only require the estudiante role and do not check the module flag.Pending Tasks and Exams
List Pending Agenda Items
GET /api/estudiante/pendientestarea (homework) or examen (exam) that belong to courses the authenticated student is enrolled in. Results are ordered by fecha_entrega ascending so the most urgent items appear first. Supports optional query filters for type and subject assignment.
Filter by agenda type. Accepted values:
tarea, examen.Filter by a specific teacher-subject assignment ID (
asignacion_docente_id).Agenda item ID.
Title of the task or exam.
Detailed description or instructions.
tarea or examen.Due date in
YYYY-MM-DD format.Name of the subject this task belongs to.
Full name of the teacher who created the task.
Library / Resource Files
Browse the Library
GET /api/estudiante/bibliotecarecurso (resource/material) for the enrolled courses. This is the student’s read-only library of teacher-uploaded study materials. Results are ordered by creation date descending. Supports optional filtering by subject assignment.
Filter resources to a specific teacher-subject assignment.
Enrolled Subjects
List All Enrolled Subjects
GET /api/estudiante/materiasAsignacionDocente) the authenticated student is enrolled in. Each entry exposes the internal asignacion_id, which is used as a path parameter in the subject detail and filter endpoints.
curl example
Get Subject Detail
GET /api/estudiante/materias/{asignacionId}404 if the assignment does not exist or the student is not enrolled in it.
The
asignacion_id of the subject to retrieve (obtained from the list endpoint above).Weekly Schedule
Get Class Schedule
GET /api/estudiante/horarioThe teacher-subject assignment this slot belongs to.
Day of the week in lowercase Spanish, e.g.
lunes, martes, miércoles, jueves, viernes.Start time in
HH:MM format (24-hour), e.g. 08:00.End time in
HH:MM format (24-hour), e.g. 09:00.Name of the subject taught in this time slot.
Full name of the teacher for this subject.
Task Detail
Get Task / Assignment Detail
GET /api/estudiante/tareas/{agenda}404 is returned.
The ID of the agenda item (task or exam).
Assignment Submission
The submission endpoints below only require the
role:estudiante middleware. The module:estudiantes check does not apply to these routes, so students can submit work even if the module flag changes during an active assignment period.Submit an Assignment
POST /api/estudiante/tareas/{agenda}/entregatipo equal to tarea or examen accept submissions — passing a recurso agenda ID will return 400 Bad Request. If the student has already submitted, this endpoint is idempotent and returns the existing submission ID without creating a duplicate.
The ID of the agenda item being submitted.
An optional note or message from the student to accompany the submission.
200 OK
View Own Submission
GET /api/estudiante/tareas/{agenda}/entreganull (HTTP 200 with body null) if no submission has been created yet.
The ID of the agenda item.
Submission record ID. Use this as
entrega in the file upload endpoint.Student’s note submitted alongside the files.
ISO 8601 timestamp of when the submission was first created.
Current submission state. Set to
entregado on creation.Upload Files to a Submission
POST /api/estudiante/entregas/{entrega}/archivosmultipart/form-data. Each file may be up to 10 MB. Files are stored in the public/entregas disk path and served at the URL returned in the response.
The submission ID returned by
POST /api/estudiante/tareas/{agenda}/entrega.One or more files to attach. Send each file under the key
archivos[]. Maximum size per file: 10 MB (10 240 KB).Delete a Submission File
DELETE /api/estudiante/entrega-archivos/{archivo}The ID of the file record to delete (obtained from the submission detail or file upload responses).