Skip to main content
POST
/
api
/
enrollments
curl -X POST "https://api.athena-erp.com/api/enrollments" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "student_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "school_year_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "grade_level": "10°",
    "group_code": "A",
    "shift": "morning",
    "status": "pending_documents"
  }'
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "school_id": "550e8400-e29b-41d4-a716-446655440000",
  "student_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "school_year_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "grade_level": "10°",
  "group_code": "A",
  "shift": "morning",
  "status": "pending_documents",
  "status_history": [
    {
      "status": "pending_documents",
      "changed_at": "2024-01-15T10:30:00Z",
      "changed_by": "d4e5f6a7-b8c9-0123-def1-234567890123"
    }
  ],
  "simat_status": {},
  "extra_data": {},
  "student_name": "Juan Pérez García",
  "school_year_name": "2024",
  "documents": [],
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z"
}

Request Body

student_id
uuid
required
ID of the existing student to enroll
school_year_id
uuid
required
ID of the school year for this enrollment
grade_level
string
required
Grade level for the enrollment (e.g., “1°”, “2°”, “10°”, “11°”)
group_code
string
Group or class code (e.g., “A”, “B”, “1A”)
shift
string
School shift (e.g., “morning”, “afternoon”, “evening”)
status
string
default:"pending_documents"
Initial enrollment status. Common values:
  • pending_documents - Awaiting document submission
  • active - Enrollment is active
  • completed - Enrollment completed
simat_status
object
SIMAT (Colombian education system) status data
extra_data
object
Additional custom data for the enrollment

Response

Returns the created enrollment object with all fields populated.
id
uuid
Unique enrollment identifier
school_id
uuid
School identifier
student_id
uuid
Student identifier
school_year_id
uuid
School year identifier
grade_level
string
Grade level
group_code
string
Group or class code
shift
string
School shift
status
string
Current enrollment status
status_history
array
Array of status changes with timestamp and user who made the change
simat_status
object
SIMAT status data
extra_data
object
Additional custom data
student_name
string
Full name of the student
school_year_name
string
Name of the school year
documents
array
Array of enrollment documents (empty for new enrollments)
created_at
datetime
Timestamp when the enrollment was created
updated_at
datetime
Timestamp when the enrollment was last updated
curl -X POST "https://api.athena-erp.com/api/enrollments" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "student_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "school_year_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "grade_level": "10°",
    "group_code": "A",
    "shift": "morning",
    "status": "pending_documents"
  }'
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "school_id": "550e8400-e29b-41d4-a716-446655440000",
  "student_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "school_year_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "grade_level": "10°",
  "group_code": "A",
  "shift": "morning",
  "status": "pending_documents",
  "status_history": [
    {
      "status": "pending_documents",
      "changed_at": "2024-01-15T10:30:00Z",
      "changed_by": "d4e5f6a7-b8c9-0123-def1-234567890123"
    }
  ],
  "simat_status": {},
  "extra_data": {},
  "student_name": "Juan Pérez García",
  "school_year_name": "2024",
  "documents": [],
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z"
}

Validation Rules

  • The student must exist and belong to the school
  • The school year must exist and belong to the school
  • A student cannot have multiple enrollments for the same school year
  • The status will be automatically tracked in the status_history array

Permissions Required

  • write:enrollment
  • write:all

Body

application/json
student_id
string
required

ID of the existing student to enroll

school_year_id
string
required

ID of the school year for this enrollment

grade_level
string
required

Grade level for the enrollment (e.g., “1°”, “2°”, “10°”, “11°”)

group_code
string

Group or class code (e.g., “A”, “B”, “1A”)

shift
string

School shift (e.g., “morning”, “afternoon”, “evening”)

status
string

Initial enrollment status. Common values: pending_documents - Awaiting document submission active - Enrollment is active completed - Enrollment completed

simat_status
object

SIMAT (Colombian education system) status data

extra_data
object

Additional custom data for the enrollment

Response

200 - application/json

Response 200

id
string

Unique enrollment identifier

school_id
string

School identifier

student_id
string

Student identifier

school_year_id
string

School year identifier

grade_level
string

Grade level

group_code
string

Group or class code

shift
string

School shift

status
string

Current enrollment status

status_history
object[]

Array of status changes with timestamp and user who made the change

simat_status
object

SIMAT status data

extra_data
object

Additional custom data

student_name
string

Full name of the student

school_year_name
string

Name of the school year

documents
object[]

Array of enrollment documents (empty for new enrollments)

created_at
object

Timestamp when the enrollment was created

updated_at
object

Timestamp when the enrollment was last updated

Build docs developers (and LLMs) love