verify
Table of Contents
Verify an RTI Wiki CPD Certificate
RTI Wiki certificates carry a unique 10-character serial (format: RTI-CPD-XXXXXXXXXX). Paste a serial below to verify the holder's name, course and completion date. Verification is public — no login required.
<html>
<label for="verify-serial" style="display:block;font-weight:700;font-size:13px;color:#0f172a;margin-bottom:6px">Certificate serial</label> <input id="verify-serial" type="text" placeholder="RTI-CPD-ABCD1234EF" style="width:100%;padding:11px 14px;border:1px solid #cbd5e1;border-radius:7px;font-size:14px;font-family:monospace;letter-spacing:0.05em" autocomplete="off"> <button id="verify-go" type="button" style="margin-top:10px;padding:10px 20px;background:#0f172a;color:#fff;border:0;border-radius:7px;font-weight:700;font-size:13px;cursor:pointer">Verify</button> <div id="verify-result" style="margin-top:16px"></div>
<script> (function(){
var esc = function(s){return String(s==null?'':s).replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');};
var result = document.getElementById('verify-result');
function run(){
var v = (document.getElementById('verify-serial').value||'').trim().toUpperCase();
if (!v){ result.innerHTML = ''; return; }
if (!/^RTI-CPD-[A-F0-9]{10}$/.test(v)){
result.innerHTML = '<div style="padding:12px 14px;background:#fef3c7;border:1px solid #fcd34d;color:#92400e;border-radius:7px;font-size:13px">Format invalid — a valid serial looks like <code>RTI-CPD-1234567ABC</code></div>';
return;
}
result.innerHTML = '<div style="color:#64748b;font-size:13px">Looking up…</div>';
fetch('/lib/exe/verify.php?serial='+encodeURIComponent(v),{credentials:'omit'})
.then(function(r){ return r.json().then(function(j){return {status:r.status,body:j};}); })
.then(function(res){
if(res.status===404){
result.innerHTML = '<div style="padding:12px 14px;background:#fee2e2;border:1px solid #fca5a5;color:#7f1d1d;border-radius:7px;font-size:13px"><strong>Not found.</strong> No certificate with that serial exists on RTI Wiki. Check the serial for typos.</div>';
return;
}
if(!res.body||!res.body.ok){
result.innerHTML = '<div style="padding:12px 14px;background:#fee2e2;border:1px solid #fca5a5;color:#7f1d1d;border-radius:7px;font-size:13px">'+esc(res.body&&res.body.error||'Unknown error')+'</div>';
return;
}
var d = res.body;
result.innerHTML =
'<div style="padding:18px 20px;background:#d1fae5;border:2px solid #10b981;color:#065f46;border-radius:10px">'+
'<div style="font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase">✓ Verified</div>'+
'<div style="font-family:Georgia,serif;font-size:22px;font-weight:700;color:#064e3b;margin:6px 0 3px">'+esc(d.name)+'</div>'+
'<div style="font-size:13px">Completed the <strong>'+esc(d.courseName)+'</strong>'+
(d.issuedAtFormatted?' on <strong>'+esc(d.issuedAtFormatted)+'</strong>':'')+'.</div>'+
'<div style="font-size:12px;margin-top:10px;color:#047857">'+
'Modules passed: <strong>'+d.passedModules+' / '+d.modulesTotal+'</strong>'+
(d.finalBestPercent?' · Final best: <strong>'+d.finalBestPercent+'%</strong>':'')+
' · Provider: <strong>'+esc(d.provider)+'</strong>'+
'</div>'+
'<div style="font-size:11px;color:#065f46;font-family:monospace;margin-top:8px;letter-spacing:0.04em">Serial: '+esc(d.serial)+'</div>'+
'</div>';
})
.catch(function(){ result.innerHTML = '<div style="color:#b91c1c;font-size:13px">Network error. Try again in a minute.</div>'; });
}
document.getElementById('verify-go').addEventListener('click', run);
document.getElementById('verify-serial').addEventListener('keydown', function(e){ if(e.key==='Enter') run(); });
var m = window.location.search.match(/[?&]s=([^&]+)/) || window.location.pathname.match(/\/verify\/(RTI-CPD-[A-F0-9]+)/i);
if (m){ document.getElementById('verify-serial').value = decodeURIComponent(m[1]); run(); }
})(); </script> </html>
How verification works
- Every certificate issued by the RTI Wiki CPD LMS includes a unique 10-character serial in the format
RTI-CPD-XXXXXXXXXX. - The serial is deterministic per user account — it does not change if you retake the course.
- Verification resolves the serial to the holder's name, course code, date of issuance, and module-pass count via an unauthenticated public endpoint (
/lib/exe/verify.php). - No login required — anyone can paste a serial to verify. The endpoint returns only the public-facing certificate metadata; it does not expose any other profile data.
Who uses this page
- Employers and hiring managers verifying an RTI Wiki CPD credential on a candidate's LinkedIn or CV.
- Training departments at public authorities accepting self-certified CPD hours.
- The learner themselves — confirming that the certificate is indexed correctly.
Related
Last reviewed: 22 April 2026.
Was this helpful?
— views
Thanks for the signal.
verify.txt · Last modified: by 127.0.0.1

Discussion