Skip to main content
When you confirm a certificate through the API, the platform looks up the candidate’s record in the WAEC database and returns a structured confirmation object. This page explains the shape of that data so you know what to expect and how to use it.

Confirmation result object

Each entry in a confirmation response contains a result object when a match is found, or null when no record exists for the supplied details.
FieldTypeDescription
idstringUnique identifier for this confirmation record.
countrystringISO 3166-1 alpha-2 country code (e.g. "NG").
country_namestringFull country name (e.g. "Nigeria").
statusstringMatch outcome. "Match Found" when the record was located.
candidate_numberstringThe candidate number from the request.
yearstringThe examination year from the request.
certificateobjectThe full certificate details (see below).
created_atstringISO 8601 timestamp of when this confirmation was created.

Certificate object

The certificate field inside a result contains the candidate’s full examination record.
FieldTypeDescription
surnamestringCandidate’s surname.
firstnamestringCandidate’s first name.
othernamesstringCandidate’s other names.
candidate_numberstringThe WAEC candidate number.
yearstringExamination year.
dobstringDate of birth in YYYY-MM-DD format.
genderstringCandidate’s gender (e.g. "FEMALE", "MALE").
centerstringName of the examination centre.
exam_titlestringFull examination title.
resultsarraySubject results — each entry has a subject (string) and grade (string).

Example certificate object

{
  "surname": "AYANTUNJI",
  "firstname": "ELIZABETH",
  "othernames": "BUNMI",
  "candidate_number": "4251212052",
  "year": "2022",
  "dob": "2003-10-04",
  "gender": "FEMALE",
  "center": "ISIU SENIOR GRAMMAR SCHOOL, ISIU",
  "exam_title": "WASSCE (SC) 2022",
  "results": [
    { "subject": "ENGLISH LANGUAGE", "grade": "D7" },
    { "subject": "GENERAL MATHEMATICS", "grade": "E8" },
    { "subject": "ECONOMICS", "grade": "C6" },
    { "subject": "CHRISTIAN RELIGIOUS STUDIES", "grade": "E8" }
  ]
}

Not-found results

If no matching record is found for a given candidate, the result field is null and the entry’s message is "Certificate not found!". The overall request still returns 200 OK.
{
  "is_error": false,
  "request": { "country": "NG", "candidate_number": "4010144000", "year": "2017" },
  "message": "Certificate not found!",
  "result": null
}
Always iterate through every entry in the data array and check result individually. A single not-found entry does not cause the whole request to fail.

Next steps