Product · Education
Education (WAEC / JAMB)
Verify candidate profiles and purchase examination registration or result-checker PINs with instant digital delivery.
Base path/api/v1/partner/education
Authx-api-key (+ x-signature on verify/purchase)
Exam BoardsWAEC · JAMB (UTME / Direct Entry) · NECO · NABTEB
Rate limit30 requests / 60s (failure circuit breaker)
1. List Education Services
Query available examination boards and service categories:
List education services
GET
/partner/education/services
API key only
cURL
curl https://api.billpadi.com/api/v1/partner/education/services \ -H "x-api-key: $API_KEY"
Example response — 200 OK
{
"success": true,
"message": "Education services retrieved",
"data": [
{ "id": "64f1d1a1c4d5e6f7a8b9c401", "name": "WAEC", "code": "waec" },
{ "id": "64f1d1a1c4d5e6f7a8b9c402", "name": "JAMB", "code": "jamb" },
{ "id": "64f1d1a1c4d5e6f7a8b9c403", "name": "NECO", "code": "neco" }
],
"timestamp": "2026-07-10T09:20:03.000Z",
"path": "/api/v1/partner/education/services"
}2. List Education Products
List available products (PINs, result tokens) for a given examination board:
List PIN products for service
GET
/partner/education/products
API key only
| Query Param | Type | Required | Description |
|---|---|---|---|
| serviceId | string | required | Exam service ID or slug (e.g. waec, jamb) |
cURL
curl "https://api.billpadi.com/api/v1/partner/education/products?serviceId=waec" \ -H "x-api-key: $API_KEY"
Example response — 200 OK
{
"success": true,
"message": "Products retrieved",
"data": [
{
"id": "64f3d2a1c4d5e6f7a8b9c411",
"code": "waec-result-checker",
"name": "WAEC Result Checker PIN",
"amount": 3400
}
],
"timestamp": "2026-07-10T09:20:03.000Z",
"path": "/api/v1/partner/education/products"
}3. Verify Candidate Profile
For services requiring profile validation (such as JAMB UTME), verify candidate eligibility and name before purchase:
Verify candidate profile
POST
/partner/education/verify
Signature required
| Field | Type | Required | Description |
|---|---|---|---|
| number | string | required | Candidate profile or registration code |
| type | string | required | Exam board type (e.g. jamb) |
cURL
Node.js
curl -X POST https://api.billpadi.com/api/v1/partner/education/verify \
-H "Content-Type: application/json" \
-H "x-api-key: $API_KEY" \
-H "x-timestamp: $TIMESTAMP" \
-H "x-signature: $SIGNATURE" \
-d '{
"number": "4278104529",
"type": "jamb"
}'const res = await partnerClient.post("/education/verify", {
number: "4278104529",
type: "jamb"
});Example response — 200 OK
{
"success": true,
"message": "Profile verified",
"data": {
"number": "4278104529",
"name": "CHINEDU OKEKE",
"status": "eligible"
},
"timestamp": "2026-07-10T09:20:03.000Z",
"path": "/api/v1/partner/education/verify"
}4. Purchase Education PIN
Purchase the requested examination token or PIN:
Purchase education PIN
POST
/partner/education/purchase
Signature required
| Field | Type | Required | Description |
|---|---|---|---|
| productId | string | required | Product id or slug code from products catalog |
| profileId | string | required | Candidate profile ID or recipient phone number |
| partnerReference | string | required | Unique reference string (2–100 characters) for idempotency |
cURL
curl -X POST https://api.billpadi.com/api/v1/partner/education/purchase \
-H "Content-Type: application/json" \
-H "x-api-key: $API_KEY" \
-H "x-timestamp: $TIMESTAMP" \
-H "x-signature: $SIGNATURE" \
-d '{
"productId": "waec-result-checker",
"profileId": "08012345678",
"partnerReference": "PR-EDU-60214"
}'Example response — 200 OK
{
"success": true,
"message": "Education purchase successful",
"data": {
"transactionReference": "TXN_1720603200000_6F7A",
"partnerReference": "PR-EDU-60214",
"status": "success",
"productId": "waec-result-checker",
"profileId": "08012345678",
"pin": "WRCP-9812-4019-2281",
"amount": 3400
},
"timestamp": "2026-07-10T09:20:03.000Z",
"path": "/api/v1/partner/education/purchase"
}Upon PIN issuance, Billpadi fires an education.purchase.success webhook.
5. Transaction Status & Listing
Get education transaction status
GET
/partner/education/transactions/:reference
API key only
List education transactions
GET
/partner/education/transactions
API key only