Skip to Content
Partner APIOverview

Partner Integration API

Server-to-server API for integration partners, school information systems, fintech apps, or anything else you run behind your own backend. These calls are made from your servers only, never from a mobile app or browser.

Use your own IDs. externalSchoolId and externalStudentId are your identifiers, EdPay maps them internally. You don’t need to store or display EdPay’s own GUIDs for schools or students anywhere in your admin UI.

Try it in your browser

Every “Try it” box in this section sends a real request to the staging API. Fill these in once, they’re saved in your browser and reused on every page.

Playground credentials

Stored only in your browser (localStorage) and sent only to the URL shown on each request, never anywhere else. Fill this in once; every “Try it” box on this site reuses it.

Base URL

All paths below are relative to your EdPay API host:

https://edpay-dotnet-api-staging.edubanc.ng # staging

Production returns a different host, your EdPay integration contact will share it.

Authentication

Every Partner API request carries two headers:

HeaderDescription
X-EdPay-Api-KeyPublic API key issued by EdPay when your partner application is created.
X-EdPay-Api-SecretPrivate secret, store server-side only. Never expose it in a mobile app or browser.
GET /api/partner/schools HTTP/1.1 Host: edpay-dotnet-api-staging.edubanc.ng X-EdPay-Api-Key: {partnerApiKey} X-EdPay-Api-Secret: {partnerApiSecret}

Idempotent writes

PUT /schools, PUT .../bank-account, and PUT .../tuition-fees are all safe to call on every save in your system, each is keyed so repeated calls update the same record instead of creating duplicates.

Response shape

Every endpoint returns the same envelope:

{ "success": true, "message": "Request successful", "data": { }, "errors": [], "statusCode": 200 }

Errors use the same shape with success: false, a populated errors array, and an HTTP status matching statusCode.

What you can do here

  • Schools: link schools to your partner account, keep details in sync, and set up disbursement bank accounts.
  • Banks: partner-auth bank catalog / resolve, plus school disbursement accounts (prefer anonymous Utils → List banks for most clients).
  • Sync students, read/write tuition fees, check loan status, and optionally mint a parent SSO session so parents can complete financing without an EdPay login screen.

Shared helpers (anonymous bank list, resolve, file upload) live under Utils.

Loan status can be read with just your externalStudentId, parents may complete financing in EdPay’s flow or your own embedded one, but your dashboard can always show status via GET .../loans.