Students
Keep your roster in sync with EdPay, keyed throughout by your
externalStudentId.
Sync students (bulk)
POST /api/partner/students/syncBulk create/update students for a school, the JSON equivalent of a CSV roster upload. Call this when class lists change.
Each row is keyed by externalStudentId (typically your student’s registration or
matric number), so calling this repeatedly for the same student updates their
record rather than duplicating it.
Headers
| Header | Value |
|---|---|
Accept | application/json |
X-EdPay-Api-Key | {partnerApiKey} |
X-EdPay-Api-Secret | {partnerApiSecret} |
Content-Type | application/json |
Request body
| Field | Description |
|---|---|
externalSchoolId | The school these students belong to. |
students | Array of student rows. |
students[].externalStudentId | Your identifier for this student. |
students[].firstName / lastName / middleName | Name fields, middleName may be null. |
students[].className | e.g. "JSS 2A". |
students[].academicSession | e.g. "2025/2026". |
students[].dateOfBirth | ISO date, e.g. "2012-05-15". |
{
"externalSchoolId": "SCHOOL-001",
"students": [
{
"externalStudentId": "STU-2025-001",
"firstName": "Ada",
"lastName": "Okonkwo",
"middleName": null,
"className": "JSS 2A",
"academicSession": "2025/2026",
"dateOfBirth": "2012-05-15"
}
]
}Response 200
This collection doesn’t include a captured example response for this endpoint. The response includes inserted/updated/failed counts and an error message for each failed row, use Try it below to see the exact shape from staging.
Try it
List students
GET /api/partner/schools/{externalSchoolId}/studentsLists students for a school. Optional className query filters to one class.
Headers
| Header | Value |
|---|---|
Accept | application/json |
X-EdPay-Api-Key | {partnerApiKey} |
X-EdPay-Api-Secret | {partnerApiSecret} |
Query parameters
| Parameter | Description |
|---|---|
className | Optional, filter to one class, e.g. "JSS 2A". |
Response 200
This collection doesn’t include a captured example response for this endpoint. Expect the student records you last sent via Sync students , use Try it below to see the exact shape from staging.