Tuition Fees
Fee schedules parents see when they apply for financing, keyed by class, academic session, and term.
List tuition fees (school catalog)
GET /api/partner/schools/{externalSchoolId}/tuition-feesThe full fee schedule for the school, across all classes and terms. Optional
academicSession filter.
For a loan-review UI, Tuition fees for one student is often simpler than filtering this list yourself.
Headers
| Header | Value |
|---|---|
Accept | application/json |
X-EdPay-Api-Key | {partnerApiKey} |
X-EdPay-Api-Secret | {partnerApiSecret} |
Query parameters
| Parameter | Description |
|---|---|
academicSession | Optional, e.g. "2025/2026". |
Response 200
This collection doesn’t include a captured example response for this endpoint. Expect an array of fee rows shaped like the Upsert tuition fee request body, use Try it below to see the exact shape from staging.
Try it
Tuition fees for one student
GET /api/partner/schools/{externalSchoolId}/students/{externalStudentId}/tuition-feesFees resolved from the student’s class and session. Use this after syncing the student, or during loan setup, to show what financing costs without separately tracking each student’s class/session yourself.
Headers
| Header | Value |
|---|---|
Accept | application/json |
X-EdPay-Api-Key | {partnerApiKey} |
X-EdPay-Api-Secret | {partnerApiSecret} |
Response 200
This collection doesn’t include a captured example response for this endpoint. Expect a fee row shaped like the Upsert tuition fee request body, use Try it below to see the exact shape from staging.
Try it
Upsert tuition fee
PUT /api/partner/schools/{externalSchoolId}/tuition-feesCreates or updates one fee row, keyed by class + academic session + term.
Requires EdPay to enable the CanManageFees scope for your partner
application.
Headers
| Header | Value |
|---|---|
Accept | application/json |
X-EdPay-Api-Key | {partnerApiKey} |
X-EdPay-Api-Secret | {partnerApiSecret} |
Content-Type | application/json |
Request body
| Field | Description |
|---|---|
className | e.g. "JSS 2A". |
academicSession | e.g. "2025/2026". |
term | e.g. "FirstTerm". |
termlyAmount | Fee for one term. |
sessionAmount | Fee for the full session. |
termlyDiscountPercent | 0–15. |
sessionDiscountPercent | 0–15. |
maxCustomAmount | Institution/professional-body schools only, omit (null) for standard K-12 fixed fees. |
{
"className": "JSS 2A",
"academicSession": "2025/2026",
"term": "FirstTerm",
"termlyAmount": 150000,
"sessionAmount": 420000,
"termlyDiscountPercent": 5,
"sessionDiscountPercent": 10,
"maxCustomAmount": null
}Response 200
This collection doesn’t include a captured example response for this endpoint. Expect the saved fee row echoed back, use Try it below to see the exact shape from staging.