SkoraAI
AIAI answer-sheet grading against the teacher's key sheet: paper setup, answer keys, marks and feedback.
Runs a school or college group end to end — from the first enquiry to the final payslip — with AI built in for grading, teaching and reporting. The same API serves the Digiclove web app, every mobile app and your own integrations.
JSON over HTTPSJWT bearer authMulti-tenant by token
Three AI products and the full operational backbone of a school or college group — all behind the same token, conventions and tenant isolation.
AI answer-sheet grading against the teacher's key sheet: paper setup, answer keys, marks and feedback.
AI lesson content: notes, quizzes, flashcards, worksheets and illustrations, grounded in the syllabus.
Ask questions of your data in plain English, get reports back and schedule them by e-mail.
Admissions to alumni: enquiries, students, fees and online payments, attendance, timetable, marks, PTM, library and transport.
Employees, leave and attendance, salary processing, payslips, PF / ESI / PT / TDS and statutory returns.
Ledgers, vouchers, invoices and e-invoicing, purchase indents, orders, receipts and approvals.
Registry-driven reports and dashboards, branch comparisons, role home screens and scheduled reports.
Sign-in and tokens, institutions, users and roles, payment gateways, SMS / e-mail / push messaging, integrations and bulk upload.
Exchange credentials for a token, then send it on every call. The token carries the institution, so tenant isolation is resolved on the server — never send an institution id in a header.
The endpoint explorer and reference are switched off on this host.
curl -X POST https://liteapi.digiclove.com/Token/Generate \
-H "Content-Type: application/json" \
-d '{"username":"your-username","password":"…","Scope":"Employee"}'
# → { "access_token": "eyJhbGciOi…", "expires_in": 10800, … }
const res = await fetch("https://liteapi.digiclove.com/Token/Generate", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ username: "your-username", password: "…", Scope: "Employee" })
});
const { access_token } = await res.json();
using var http = new HttpClient { BaseAddress = new Uri("https://liteapi.digiclove.com/") };
var login = await http.PostAsJsonAsync("Token/Generate",
new { username = "your-username", password = "…", Scope = "Employee" });
var token = (await login.Content.ReadFromJsonAsync<JsonElement>())
.GetProperty("access_token").GetString();
curl https://liteapi.digiclove.com/CommonApi/GetWeekList \ -H "Authorization: Bearer $TOKEN"
const weeks = await fetch("https://liteapi.digiclove.com/CommonApi/GetWeekList", {
headers: { Authorization: "Bearer " + access_token }
}).then(r => r.json());
http.DefaultRequestHeaders.Authorization = new("Bearer", token);
var weeks = await http.GetStringAsync("CommonApi/GetWeekList");
Every module below is read live from the routes mapped on this host, so the list never drifts from the build.
ApiDocs:Enabled is off).