The subjects API allows you to manage the subject catalog and academic areas for your school. Subjects can be organized into academic areas and include details like codes, names, and status.
Academic Areas
Academic areas are used to organize subjects into broader categories (e.g., Sciences, Mathematics, Languages).
List Academic Areas
Current tenant school (automatically injected)
Unique identifier for the academic area
ID of the school this area belongs to
Name of the academic area
Status of the area: active or inactive
Timestamp when the area was created
Timestamp when the area was last updated
curl -X GET "https://api.athena-erp.com/academic/areas" \
-H "Authorization: Bearer YOUR_TOKEN"
[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"school_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Sciences",
"status": "active",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
},
{
"id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"school_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Mathematics",
"status": "active",
"created_at": "2024-01-15T10:32:00Z",
"updated_at": "2024-01-15T10:32:00Z"
}
]
Create Academic Area
Name of the academic area
Status of the area: active or inactive
curl -X POST "https://api.athena-erp.com/academic/areas" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Languages",
"status": "active"
}'
{
"id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"school_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Languages",
"status": "active",
"created_at": "2024-01-20T14:25:00Z",
"updated_at": "2024-01-20T14:25:00Z"
}
Update Academic Area
ID of the academic area to update
New name for the academic area
New status: active or inactive
curl -X PATCH "https://api.athena-erp.com/academic/areas/a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "inactive"
}'
Delete Academic Area
ID of the academic area to delete
curl -X DELETE "https://api.athena-erp.com/academic/areas/a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d" \
-H "Authorization: Bearer YOUR_TOKEN"
Subject Catalog
The subject catalog contains all subjects that can be taught at your school.
List Subjects
Filter subjects by academic area
Unique identifier for the subject
ID of the school this subject belongs to
ID of the academic area this subject belongs to
Subject code (e.g., “MATH101”)
Abbreviated name for the subject
Status: active or inactive
Timestamp when last updated
curl -X GET "https://api.athena-erp.com/academic/subjects?academic_area_id=550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_TOKEN"
[
{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"school_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"academic_area_id": "550e8400-e29b-41d4-a716-446655440000",
"code": "BIO101",
"name": "Biology I",
"short_name": "Bio I",
"status": "active",
"created_at": "2024-01-15T11:00:00Z",
"updated_at": "2024-01-15T11:00:00Z"
},
{
"id": "c9bf9e57-1685-4c89-bafb-ff5af830be8a",
"school_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"academic_area_id": "550e8400-e29b-41d4-a716-446655440000",
"code": "CHEM101",
"name": "Chemistry I",
"short_name": "Chem I",
"status": "active",
"created_at": "2024-01-15T11:05:00Z",
"updated_at": "2024-01-15T11:05:00Z"
}
]
Create Subject
Subject code (e.g., “MATH101”)
ID of the academic area this subject belongs to
Abbreviated name for the subject
Status: active or inactive
curl -X POST "https://api.athena-erp.com/academic/subjects" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"code": "PHYS101",
"name": "Physics I",
"short_name": "Phys I",
"academic_area_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "active"
}'
{
"id": "d4e5f6a7-b8c9-4d0e-a1b2-c3d4e5f6a7b8",
"school_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"academic_area_id": "550e8400-e29b-41d4-a716-446655440000",
"code": "PHYS101",
"name": "Physics I",
"short_name": "Phys I",
"status": "active",
"created_at": "2024-01-20T15:30:00Z",
"updated_at": "2024-01-20T15:30:00Z"
}
Update Subject
ID of the subject to update
New status: active or inactive
curl -X PATCH "https://api.athena-erp.com/academic/subjects/d4e5f6a7-b8c9-4d0e-a1b2-c3d4e5f6a7b8" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"short_name": "Physics I"
}'
Delete Subject
ID of the subject to delete
curl -X DELETE "https://api.athena-erp.com/academic/subjects/d4e5f6a7-b8c9-4d0e-a1b2-c3d4e5f6a7b8" \
-H "Authorization: Bearer YOUR_TOKEN"
Permissions
- List areas/subjects: Requires
read:all or read:grades permission
- Create/Update/Delete: Requires
write:all permission