Integration directory
The shared public integration directory is available at:Integration index
Route overview
jss1, term aliases such as first, and the full academic year name are supported by the endpoint.
Response shape
scores contains the subject name and the CDE-compatible test, exam, and total values. student_id is the Kralis username, not a Ministry identifier. The metadata.class value is the normalized Kralis class code; class_full_name is the display name.
Query rules and behavior
classis required;classeis accepted as an alias.classis normalized by removing spaces and punctuation and converting to lowercase.primary1andbasic1resolve top1;jss1andsss2resolve tojs1andss2.termis required and accepts1,2,3, ordinal forms, names such asfirst, and forms with an optionaltermprefix or suffix such asterm 1and1st term.yearis required. The endpoint first tries a case-insensitive exact match againstYear.year_name, then accepts a unique case-insensitive prefix. If a prefix matches more than one year, the response is a validation error and the full year name is required. The resolved year scopes the returned results.- The class and year must belong to the school resolved from
school_acronym. - The term must exist for the selected school and is resolved to
First Term,Second Term, orThird Term. - Only existing Kralis results are returned; this endpoint does not create or update results.
- Results are ordered by student surname and first name.
student_idis the student’s Kralis username. It is not a CDE- or school-issued identifier.subject_countis the number of score rows returned for that student. If no score rows are available,averageis returned as0.- The response is cached for one hour, so a just-updated score may not appear immediately.
/srms/<school_acronym>/ result alias remains available for compatible consumers but is not the preferred contract.
Use metadata to confirm that the response belongs to the requested school, class, academic year, and term before displaying or importing it. Because responses are cached for one hour, clients should allow for a delay after a result is updated in Kralis before requesting it again.
