ShuleFlow API

Endpoint reference

Endpoints

GET /health Public
Health check: database, queue and cache state.
GET /status Public
Machine-readable service summary (JSON).
POST /api/v1/signup/trial Public
Create a school, its admin user and a trial subscription.
POST /api/v1/auth/login Requires auth
Email/password sign-in, isolated to the requesting tenant.
GET /api/v1/auth/me Requires auth
The authenticated user (requires a bearer token).
GET /api/v1/auth/session Requires auth
The current user, resolved from the Host header alone.
GET /api/v1/tenant Requires auth
Public information for the school on this host.
GET /api/v1/tenant/subscription Requires auth
Plan, limits and renewal date for this school.
PATCH /api/v1/tenant/branding Requires auth
Update colours and logo for this school.

Try it

GET Health check
curl https://api.shuleflow.brevansoftwares.co.ke/health
POST Sign up a school (trial)
curl -X POST https://api.shuleflow.brevansoftwares.co.ke/api/v1/signup/trial \ -H "Content-Type: application/json" \ -d '{"school_name":"Test School","full_name":"Grace Wanjiku", \ "email":"grace@testschool.ac.ke","password":"correct-horse-battery", \ "accept_terms":true}'
GET Current user
curl https://api.shuleflow.brevansoftwares.co.ke/api/v1/auth/me \ -H "Authorization: Bearer YOUR_TOKEN"

Notes

Every school is served on its own subdomain of brevansoftwares.co.ke; the API resolves the tenant from the request Host. Interactive OpenAPI docs are at /api/docs.