Academic Sessions API

Academic sessions represent school years and are fundamental to organizing academic data.

Model

{
  "id": "uuid",
  "name": "Academic Year 2024-2025",
  "code": "2024-2025",
  "start_date": "2024-09-01",
  "end_date": "2025-06-30",
  "status": "active",
  "is_current": true,
  "semesters": [...],
  "team_id": "team-uuid"
}

Status Values

Status

Description

planning

Session being planned

active

Current active session

completed

Session finished

archived

Historical data

Public Endpoints

These endpoints don’t require team context:

List Sessions

POST /api/academic_sessions/list

Get Session

GET /api/academic_sessions/:id

Protected Endpoints

Create Session

POST /api/academic_sessions

Request:

{
  "name": "Academic Year 2025-2026",
  "code": "2025-2026",
  "start_date": "2025-09-01",
  "end_date": "2026-06-30",
  "status": "planning"
}

Update Session

PUT /api/academic_sessions/:id

Delete Session

DELETE /api/academic_sessions/:id

Context Header

The X-Academic-Session-ID header sets the academic context for:

  • Attendance records

  • Gradebook entries

  • Enrollments

  • Timetables

X-Academic-Session-ID: session-uuid

Semesters

Semesters belong to academic sessions. See Semesters API.