Getting Started
Get up and running with Schoolyst in minutes. Learn how to authenticate, make your first API call, and integrate the platform into your application.
Getting Started with Schoolyst
Welcome to Schoolyst! This guide will help you integrate our comprehensive school management platform into your application. Whether you're building a school website, mobile app, or custom integration, you'll be up and running in minutes.
What is Schoolyst?
Schoolyst is a complete SaaS-based school management system that provides:
- Academic Management - Classes, subjects, timetables, and curriculum
- Student & Staff Management - User profiles, roles, and permissions
- Attendance System - Automated tracking and reporting
- Library Management - Book cataloging and circulation
- Front Office - Admissions, visitor logs, and communications
- Analytics & Reports - Real-time dashboards and insights
Prerequisites
Before you begin, make sure you have:
- An active Schoolyst account with API access
- Your API credentials (API Key and Secret)
- Basic knowledge of REST APIs
- A development environment set up
Don't have an account?
Contact our sales team to get started with Schoolyst. API access is available on all paid plans.
Quick Start
Get Your API Credentials
- Log in to your Schoolyst dashboard
- Navigate to Settings → API & Integrations
- Click Generate New API Key
- Save your API Key and Secret securely
Keep your credentials secure
Never expose your API secret in client-side code or public repositories. Always use environment variables.
Make Your First API Call
Test your connection by fetching your school information:
curl -X GET https://api.schoolyst.com/v1/school/info \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"const response = await fetch("https://api.schoolyst.com/v1/school/info", {
method: "GET",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
});
const schoolInfo = await response.json();
console.log(schoolInfo);import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
response = requests.get(
'https://api.schoolyst.com/v1/school/info',
headers=headers
)
school_info = response.json()
print(school_info)<?php
$api_key = 'YOUR_API_KEY';
$ch = curl_init('https://api.schoolyst.com/v1/school/info');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $api_key,
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$school_info = json_decode($response, true);
print_r($school_info);
curl_close($ch);
?>Expected Response:
{
"success": true,
"data": {
"id": "sch_123456",
"name": "Example High School",
"address": "123 Education St, City, State",
"phone": "+1234567890",
"email": "info@example.edu",
"timezone": "America/New_York",
"academic_year": "2024-2025"
}
}Fetch Students List
Retrieve a list of students enrolled in your school:
const response = await fetch("https://api.schoolyst.com/v1/students?limit=10", {
method: "GET",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
});
const students = await response.json();
console.log(students.data);import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
response = requests.get(
'https://api.schoolyst.com/v1/students?limit=10',
headers=headers
)
students = response.json()
print(students['data'])Mark Attendance
Record student attendance for today:
const attendanceData = {
student_id: "std_123456",
class_id: "cls_789",
date: "2024-11-21",
status: "present",
remarks: "On time",
};
const response = await fetch("https://api.schoolyst.com/v1/attendance", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify(attendanceData),
});
const result = await response.json();
console.log(result);import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
attendance_data = {
'student_id': 'std_123456',
'class_id': 'cls_789',
'date': '2024-11-21',
'status': 'present',
'remarks': 'On time'
}
response = requests.post(
'https://api.schoolyst.com/v1/attendance',
headers=headers,
json=attendance_data
)
result = response.json()
print(result)Understanding Authentication
Schoolyst uses API Key authentication for all API requests. Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEYRate Limits
API requests are rate-limited to 1000 requests per hour per API key. Contact support for higher limits.
API Base URL
All API requests should be made to:
https://api.schoolyst.com/v1Response Format
All API responses follow a consistent JSON format:
Success Response:
{
"success": true,
"data": {
// Response data
},
"meta": {
"page": 1,
"limit": 10,
"total": 100
}
}Error Response:
{
"success": false,
"error": {
"code": "INVALID_REQUEST",
"message": "Student ID is required",
"details": {}
}
}Common Error Codes
| Code | Description |
|---|---|
UNAUTHORIZED | Invalid or missing API key |
FORBIDDEN | Insufficient permissions |
NOT_FOUND | Resource not found |
VALIDATION_ERROR | Invalid request parameters |
RATE_LIMIT_EXCEEDED | Too many requests |
SERVER_ERROR | Internal server error |
Environment Setup
Set up your environment variables for secure credential management:
# .env file
SCHOOLYST_API_KEY=your_api_key_here
SCHOOLYST_API_SECRET=your_api_secret_here
SCHOOLYST_API_URL=https://api.schoolyst.com/v1// config.js
module.exports = {
schoolyst: {
apiKey: process.env.SCHOOLYST_API_KEY,
apiSecret: process.env.SCHOOLYST_API_SECRET,
apiUrl: process.env.SCHOOLYST_API_URL || "https://api.schoolyst.com/v1",
},
};Next Steps
Now that you've made your first API calls, explore more features:
API Reference
Complete API documentation with all endpoints and parameters
Authentication
Learn about authentication methods and security best practices
Academic Management
Manage classes, subjects, and academic operations
Attendance System
Implement automated attendance tracking
Student Management
Handle student profiles and enrollment
Webhooks
Set up real-time notifications for events
Need Help?
Support Resources
- Documentation: Browse our comprehensive guides - API Status: status.schoolyst.com - Support: support@schoolyst.com - Community: Join our developer community on Discord
SDK Libraries
We provide official SDKs for popular languages:
- JavaScript/TypeScript:
npm install @schoolyst/sdk - Python:
pip install schoolyst - PHP:
composer require schoolyst/sdk - Ruby:
gem install schoolyst
More SDKs coming soon! Check our SDKs documentation for details.