Introduction

Welcome to the AcadiaLoom API documentation. This guide provides everything you need to start building applications and integrations on top of the AcadiaLoom platform. Our goal is to provide a powerful, consistent, and predictable API that empowers developers to create amazing experiences for students, teachers, and administrators.

API Principles

Our API is built on standard REST principles. We use predictable, resource-oriented URLs, accept and return JSON-encoded bodies, and use standard HTTP response codes, authentication, and verbs.

Authentication

All API requests must be authenticated using an API key. You can generate an API key from your school's admin dashboard under the "Developer Settings" section. Include your API key in the `Authorization` header as a Bearer token.

Authorization: Bearer YOUR_API_KEY

Get All Students

Retrieves a paginated list of all students in the institution. You can filter by class, grade, or other parameters.

GET/v1/students

Example Request:

fetch('https://api.schoolflow.com/v1/students?class=10A', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
})
.then(res => res.json())
.then(console.log);

Frontend Components

InfoCard Component

The `InfoCard` component is a versatile card used throughout the AcadiaLoom UI to display key information snippets. It is designed to be easily configurable and themeable.

Usage:

import { InfoCard } from '@/components/ui/InfoCard';
import { UserIcon } from 'lucide-react';

const MyComponent = () => (
  <InfoCard
    title="Total Students"
    value="1,245"
    icon={<UserIcon />}
    description="An increase of 5% from last month"
  />
);