Real-time webhooks are live today. A full REST API is on the roadmap — the preview below shows what's coming.
Subscribe to school events and receive HTTP POST callbacks when they occur. Set up endpoints from your dashboard at Settings → Developer (available on the Enterprise plan). Every delivery is signed with HMAC-SHA256 so you can verify it came from us.
student.enrolled — A new student was enrolledresult.published — Academic results were publishedpayment.received — A fee payment was received and matchedMore events are added as new modules ship — tell us which ones you need at hey@lodumai.com.
{
"event": "student.enrolled",
"timestamp": "2026-06-11T14:30:00Z",
"payload": {
"studentId": "a1b2c3d4-…",
"name": "Amara Okonkwo"
}
}Each request carries an x-obara-signature header — the hex HMAC-SHA256 of the raw JSON body, keyed with the webhook secret shown when you created the endpoint:
const crypto = require('crypto')
const expected = crypto.createHmac('sha256', WEBHOOK_SECRET)
.update(rawBody)
.digest('hex')
const valid = expected === req.headers['x-obara-signature']Deliveries are HTTP POST with a 5-second timeout. A failed delivery is retried once; design your handler to be idempotent and return 2xx quickly. You can fire a test delivery to any endpoint from Settings → Developer.
Generate and manage API keys from Settings → Developer. Keys are shown once at creation — store them securely. Today, keys identify your integration for webhooks; when the REST API launches, the same keys will authenticate your requests.
sk_live_0123abcd… ← shown once, then stored hashedThe endpoints below are a preview of the planned API and are not yet callable. The shapes may change before launch. Want early access? Email hey@lodumai.com and we'll notify you when the beta opens.
curl -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
https://api.obara.app/v1/students/v1/studentsList students in your school
/v1/studentsEnrol a new student
/v1/students/:idGet student details
/v1/students/:idUpdate student info
/v1/invoicesList fee invoices (optionally by student)
/v1/resultsFetch results by student or class
/v1/attendanceAttendance records by class and date
Responses will use the same envelope the platform uses internally:
{ "success": true, "data": { … } }
{ "success": false, "error": { "code": "VALIDATION_ERROR", "message": "…" } }Contact our developer support team at hey@lodumai.com or visit the contact page.