Schools
Link schools to your partner account, and see which ones are already connected,
keyed throughout by your externalSchoolId.
List linked schools
GET /api/partner/schoolsReturns every school currently linked to your partner account. Use this to show which schools are on EdPay in your own admin console, without maintaining a separate list.
Headers
| Header | Value |
|---|---|
Accept | application/json |
X-EdPay-Api-Key | {partnerApiKey} |
X-EdPay-Api-Secret | {partnerApiSecret} |
Response 200
{
"success": true,
"message": "Request successful",
"data": [
{
"schoolId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"externalSchoolId": "SCHOOL-001",
"name": "Example Secondary School",
"status": "Active",
"isBankAccountSetup": false
}
],
"errors": [],
"statusCode": 200
}| Field | Description |
|---|---|
schoolId | EdPay’s internal GUID for the school. You don’t need to store this. |
externalSchoolId | The id you gave this school. |
name | School name on file with EdPay. |
status | Onboarding status, e.g. Active. |
isBankAccountSetup | Whether a disbursement bank account has been set, see Set school bank account. |
Try it
Create or update school
PUT /api/partner/schoolsCreate or update a school keyed by externalSchoolId. Call this whenever school
details change in your system, not only at first onboarding. The response tells you
whether the school was newly created, and its current approval/bank-setup status.
Idempotent. EdPay matches on externalSchoolId, so calling this on every save
in your system updates the same school instead of creating a duplicate.
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 | Your stable identifier for this school, the idempotency key. |
name | School name. |
rcNumber | Corporate Affairs Commission registration number. |
phoneNumber | School contact phone number. |
email | School contact email. |
address | Street address. |
state | State. |
lga | Local Government Area. |
{
"externalSchoolId": "SCHOOL-001",
"name": "Example Secondary School",
"rcNumber": "RC-123456",
"phoneNumber": "08012345678",
"email": "admin@exampleschool.ng",
"address": "12 Example Street",
"state": "Lagos",
"lga": "Ikeja"
}Response 200
{
"success": true,
"message": "Request successful",
"data": {
"schoolId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"externalSchoolId": "SCHOOL-001",
"name": "Example Secondary School",
"status": "Active",
"isBankAccountSetup": false,
"isNewlyCreated": true
},
"errors": [],
"statusCode": 200
}| Field | Description |
|---|---|
schoolId | EdPay’s internal GUID for the school. You don’t need to store this. |
externalSchoolId | Echoes back the id you sent. |
status | Onboarding status, e.g. Active. |
isBankAccountSetup | Whether a disbursement bank account has been set. |
isNewlyCreated | true if this call created the school, false if it updated an existing one. |