Schoolyst

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

  1. Log in to your Schoolyst dashboard
  2. Navigate to SettingsAPI & Integrations
  3. Click Generate New API Key
  4. 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_KEY

Rate 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/v1

Response 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

CodeDescription
UNAUTHORIZEDInvalid or missing API key
FORBIDDENInsufficient permissions
NOT_FOUNDResource not found
VALIDATION_ERRORInvalid request parameters
RATE_LIMIT_EXCEEDEDToo many requests
SERVER_ERRORInternal 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:

Need Help?

Support Resources

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.