canonical: https://jentic.com/apis/classe365.com/classe365

# Classe365 API

Classe365 is a school and higher-education management platform, and its REST API exposes the operational core of the system. It covers student and staff records, course enrollment, attendance, assessment scoring, fee invoicing, ledger accounting, and form submissions. Each customer accesses the API through a tenant-specific subdomain so data stays isolated per institution. The API is suited to schools, colleges, and tutoring businesses that want to sync their student information system with admissions, finance, or analytics tooling.

## For AI agents

Manage students, staff, attendance, assessments, fees, and academic structure inside Classe365 institutions. Useful for SIS sync, enrollment automation, and finance reporting workflows.

## Scope

Does not handle live class video, content authoring, or payment gateway charging - use for Classe365 student records, attendance, assessments, and fee invoicing only.

## Capabilities

- Add or update student, teacher, administrator, and agent records
- Enroll students in courses and manage elective subject allocation
- Record and query attendance by date, student, or class
- Save and retrieve assessment scores at student or subject level
- Create fee invoices and inspect ledger accounts and entries
- Submit and retrieve dynamic form responses
- Define academic structure and academic sessions

## Use cases

### Admissions to enrollment automation

Schools commonly capture admissions in an external CRM or web form, then have to copy the accepted applicant into their SIS. With Classe365, the accepted record can be pushed via POST /rest/student and immediately enrolled into a course using POST /rest/studentCourseEnroll. This eliminates double entry and keeps academic records in sync from day one of the term.

Example prompt: Read accepted applicants from the admissions CRM and call POST /rest/student followed by POST /rest/studentCourseEnroll for each, then return a summary of enrollments

### Daily attendance ingestion

Classe365 supports both individual and bulk attendance updates. Schools that take attendance in a separate mobile app can push the day's data with POST /rest/manageAttendance and verify it back with GET /rest/allAttendanceByDate. This gives administrators a single source of truth and lets them generate parent notifications from the canonical Classe365 record.

Example prompt: Push today's attendance for grade 9 from the mobile app and confirm via GET /rest/allAttendanceByDate that all records were saved

### Fee invoice generation and reconciliation

Finance teams generate term tuition invoices and reconcile them against the institution's ledger. POST /rest/createInvoice issues an invoice for a student or cohort, and GET /rest/feeInvoicesData plus GET /rest/accountEntries supply the data needed for accounting reconciliation. Running this on a schedule keeps the ledger and student finance records in agreement.

Example prompt: Create term-1 invoices for all active students and reconcile the resulting entries from GET /rest/accountEntries against the bank feed

### Assessment scoring and reporting

Teachers enter assessment scores either through the Classe365 UI or via API. POST /rest/saveAssessmentScore writes results, and GET /rest/studentScore or GET /rest/subjectScore retrieves them for report-card generation. This pattern lets schools build custom report formats outside the Classe365 templates while keeping scores authoritative inside the platform.

Example prompt: Save end-of-term assessment scores for class 10A and pull GET /rest/subjectScore to populate the custom report card template

### AI agent integration via Jentic

An admissions chatbot built on Jentic searches by intent, loads the schema for student creation, and onboards applicants straight into Classe365. Because authentication is HTTP basic (tenant_name:api_key), the credentials are kept in your Jentic One instance and the agent never receives them. The same agent can call assessment, fee, and attendance endpoints by re-running the search with new intents.

Example prompt: Receive 'enroll Aanya Patel in Grade 9 Maths starting Aug 1' from chat, search Jentic for Classe365 student creation and enrollment, and execute both calls in sequence

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /rest/student | Add or update a student record |
| POST | /rest/studentCourseEnroll | Enroll students in courses |
| POST | /rest/manageAttendance | Add or update attendance |
| GET | /rest/studentsData | Retrieve student data in bulk |
| POST | /rest/saveAssessmentScore | Save assessment scores |
| POST | /rest/createInvoice | Create a fee invoice |
| GET | /rest/accountEntries | Retrieve ledger account entries |
| POST | /rest/teacher | Add or update a teacher |

## Key resources

- **Students** — Create, update, and query student records and statuses
- **Teachers and Administrators** — Manage staff records
- **Course Enrollment** — Enroll students and manage elective allocation
- **Attendance** — Record and query daily attendance
- **Assessments** — Save and retrieve student and subject scores
- **Fees and Invoices** — Generate invoices and inspect fee data
- **Ledger and Accounts** — Read ledger accounts and account entries
- **Forms** — Submit and retrieve dynamic form responses
- **Tasks** — Create and query operational tasks

## Why Jentic

- **Setup:** Wiring Classe365 by hand means encoding basic auth credentials and resolving your tenant host (the {tenant_name}.classe365.com pattern) before any call lands. Through Jentic you install once, import Classe365 from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** You choose which Classe365 operations the agent may call, so you can limit it to the operations it needs, such as enrolling a student in a course or reading student data, and leave invoice creation or teacher records out of the allowed set unless you add them.
- **Credential handling:** Your Classe365 credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'enroll a student in a course' or 'record attendance in Classe365', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **PowerSchool SIS API** — Established K-12 student information system with deep US-district adoption
- **Schoology API** — Learning management system focused on classroom workflows
- **Moodle API** — Open-source LMS for course content and grading

## FAQ

### What authentication does the Classe365 API use?

Classe365 uses HTTP basic authentication where the username is your tenant_name and the password is the API key generated from Admin Panel > Settings > APIs. The base64-encoded credential is sent in the Authorization header. Through Jentic, this credential is stored in the encrypted vault so agents never see the raw API key.

### Is the Classe365 API multi-tenant?

Yes. The base URL is https://{tenant_name}.classe365.com so each institution gets its own subdomain and isolated dataset. Any API call must include the tenant in the host, which means agents working across multiple institutions must rotate the host alongside the credential.

### Can I record attendance in bulk through the Classe365 API?

Yes. POST /rest/manageAttendance accepts attendance records and is paired with GET /rest/allAttendanceByDate and GET /rest/attendanceByDateInLV for retrieval. This supports bulk daily ingestion patterns where attendance is captured externally and synced into Classe365.

### How do I create a fee invoice in Classe365?

Call POST /rest/createInvoice with the student or cohort details and the fee head. The resulting invoice is queryable via GET /rest/feeInvoicesData, and the corresponding ledger movement appears in GET /rest/accountEntries for reconciliation against your accounting system.

### How do I enroll a student through Jentic?

Install the SDK with pip install jentic, then search Jentic for 'enroll a student in classe365', load the returned schema, and execute. Jentic injects the basic-auth credential at execution time, so your agent does not need to handle the API key directly.

### Can the Classe365 API save assessment scores?

Yes. POST /rest/saveAssessmentScore writes assessment scores, and GET /rest/studentScore, GET /rest/studentsScore, and GET /rest/subjectScore return scores at varying granularities. This lets you build custom report cards while keeping Classe365 as the source of truth for grades.

### Can I limit what my agent is allowed to do with the Classe365 API?

Yes. Because your Jentic One instance is self-hosted, you decide which Classe365 operations the agent may call, and your own rules govern which credentials and endpoints it can use. You can allow it to enroll a student in a course or read student data while leaving fee invoice creation and teacher records out of the allowed set until you add them. The agent can only invoke the Classe365 operations you have permitted, so scoping stays under the operator's control.
