API Version 2.1.0

API
Documentation

Build powerful integrations with SchoolBench Pro's comprehensive REST API

138+ API Endpoints Available

RESTful Design

Clean, intuitive API endpoints following REST principles for easy integration

Secure Authentication

JWT tokens, OAuth 2.0, API keys, 2FA, and SSO/SAML support

Comprehensive Docs

Detailed documentation with code examples in multiple programming languages

Multi-Tenant Ready

Built-in tenant isolation with granular permissions and data segregation

API Base URL

Production: https://api.schoolbench.pro/api/v2

Note: All API requests must include authentication via Bearer token or API key in the Authorization header.

Getting Started

1

Create an API Key

Log in to your SchoolBench Pro account and navigate to Settings → API Keys to generate your unique API key.

# Your API key will look like this:
API_KEY="sbp_live_1a2b3c4d5e6f7g8h9i0j"
2

Make Your First Request

Use your API key to authenticate requests. Here's a simple example to fetch school information:

curl -X GET https://api.schoolbench.pro/v1/school \
  -H "Authorization: Bearer sbp_live_1a2b3c4d5e6f7g8h9i0j" \
  -H "Content-Type: application/json"
3

Handle the Response

All responses are returned in JSON format. Here's an example response:

{
  "id": "sch_123456",
  "name": "Lincoln High School",
  "students": 1200,
  "teachers": 85,
  "established": "1965-09-01"
}

API Endpoint Categories

Access 138+ API endpoints across 15+ functional categories to build custom integrations for your institution.

List Students

GET /v1/students?page=1&limit=20

Get Student Details

GET /v1/students/{student_id}

Create Student

POST /v1/students
{
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@school.edu",
  "grade": 10
}

List Classes

GET /v1/classes?teacher_id={teacher_id}

Enroll Student

POST /v1/classes/{class_id}/students
{
  "studentId": "std_123456"
}

Record Grade

POST /v1/grades
{
  "studentId": "std_123456",
  "assignmentId": "asg_789012",
  "score": 95,
  "feedback": "Excellent work!"
}

Mark Attendance

POST /v1/attendance
{
  "classId": "cls_456789",
  "date": "2024-01-28",
  "records": [
    {"studentId": "std_123", "status": "present"},
    {"studentId": "std_124", "status": "absent"}
  ]
}

Manage fees, payments, invoices, financial reports, and accounting operations.

List Invoices

GET /v1/finance/invoices?status={pending|paid|overdue}

Record Payment

POST /v1/finance/payments
{
  "invoiceId": "inv_123",
  "amount": 500.00,
  "method": "credit_card"
}

Manage books, circulation, reservations, and digital library resources.

Search Catalog

GET /v1/library/catalog?query={search_term}

Checkout Book

POST /v1/library/checkout
{
  "bookId": "bk_456",
  "studentId": "std_789",
  "dueDate": "2024-02-15"
}

Access academic analytics, financial reports, custom dashboards, and BI data.

Get Performance Metrics

GET /v1/analytics/academic/performance?period=term1

Generate Custom Report

POST /v1/analytics/reports
{
  "type": "attendance_summary",
  "dateRange": {"start": "2024-01-01", "end": "2024-01-31"}
}

Additional API Categories

Academic Management

  • • Curriculum & Courses
  • • Class Scheduling
  • • Academic Calendar
  • • Assessment Management

Admission & Enrollment

  • • Application Processing
  • • Profile Management
  • • Enrollment Workflows
  • • Document Verification

Examination System

  • • Exam Scheduling
  • • Question Banks
  • • Result Processing
  • • Report Card Generation

Campus Management

  • • Facility Booking
  • • Asset Management
  • • Transportation
  • • Inventory Control

Parent Portal

  • • Child Progress Tracking
  • • Parent-Teacher Messaging
  • • Event Notifications
  • • Document Access

Mobile Apps API

  • • Student Mobile Endpoints
  • • Teacher Mobile Endpoints
  • • Parent Mobile Endpoints
  • • Push Notifications

Core Endpoints

GET /v1/staff
POST /v1/staff
GET /v1/staff/:id/payroll
POST /v1/staff/:id/leave

Features

  • • Payroll management
  • • Leave tracking
  • • Performance evaluations
  • • Training & certifications
  • • Department management

Core Endpoints

GET /v1/library/books
POST /v1/library/checkout
POST /v1/library/return
GET /v1/library/members

Features

  • • Book catalog & inventory
  • • Check-in/check-out
  • • Fines & reservations
  • • Barcode scanning
  • • Digital resources

Core Endpoints

GET /v1/analytics/dashboard
GET /v1/analytics/attendance
GET /v1/analytics/financial
POST /v1/analytics/reports

Features

  • • Custom dashboards
  • • Performance analytics
  • • Attendance trends
  • • Financial reports
  • • Predictive insights (AI)

Core Endpoints

POST /v1/auth/login
POST /v1/auth/2fa/enable
GET /v1/roles
POST /v1/permissions

Features

  • • RBAC (100+ permissions)
  • • 2FA/TOTP authentication
  • • SSO/SAML integration
  • • API key management
  • • Audit logging

Webhooks

Receive real-time notifications when events occur in SchoolBench Pro. Configure webhook endpoints to automatically sync data with your systems.

Student Events

  • • student.created
  • • student.updated
  • • student.deleted
  • • student.enrolled
  • • student.transferred

Staff Events

  • • staff.created
  • • staff.updated
  • • staff.deleted
  • • staff.leave.requested
  • • staff.leave.approved

Academic Events

  • • attendance.marked
  • • grade.recorded
  • • grade.updated
  • • assignment.created
  • • assignment.submitted
  • • assignment.graded

Financial Events

  • • fee.collected
  • • payment.received
  • • payment.failed
  • • invoice.generated
  • • receipt.issued

Communication Events

  • • announcement.published
  • • message.sent
  • • parent.message.sent
  • • notification.delivered

System Events

  • • exam.scheduled
  • • report.generated
  • • backup.completed
  • • user.login

Webhook Configuration

Configure webhook endpoints in your dashboard settings. Supports HTTPS endpoints with custom headers and retry logic.

  • • Automatic retries (3 attempts)
  • • Signature verification (HMAC)
  • • Event filtering
  • • Delivery logs & monitoring

Webhook Payload

{
  "event": "student.created",
  "timestamp": "2024-01-28T10:30:00Z",
  "data": {
    "id": "std_789012",
    "firstName": "Jane",
    "lastName": "Smith"
  }
}

Rate Limits

API rate limits ensure fair usage and optimal performance for all users. Limits are applied per API key.

Plan Requests/Hour Burst Limit Concurrent Requests
Free Trial 1,000 100/min 10
Essential 5,000 500/min 25
Professional 15,000 1,500/min 50
Enterprise Custom Custom Custom

Official SDKs

Need Help?

Our developer support team is here to help you integrate SchoolBench Pro