Thank you for partnering with us.
This document explains how your system can integrate with the MySchool platform for schools that use both your attendance kiosk solution and our school management platform.
Base URL
All API requests should be made against the following base URL:
https://app.myschooljamaica.com
Overview
MySchool supports a multi-tenant structure, which means each school operates in its own environment. To support integration securely, each participating school will be assigned its own API key.
Your system will use this API key to:
- authenticate requests
- identify the correct school
- access that school’s student list
- submit attendance records to the correct school database
At this stage, the integration includes two API endpoints:
- Get Students
Retrieve the list of students for a school. - Post Attendance
Submit attendance records captured by your kiosk or RF card system.
Authentication
All requests must include the API key in the request header.
Required Header
X-API-KEY: your-school-api-key
Each school will have its own unique API key. Please do not reuse one school’s key for another school.
All requests must be sent over HTTPS.
1) Get Students
Use this endpoint to pull the list of students from MySchool into your system.
Endpoint
GET https://app.myschooljamaica.com/api/integration/attendance/students
Required Header
X-API-KEY: your-school-api-key
Response Example
[
{
"studentid": 1254,
"firstname": "John",
"lastname": "Brown",
"gender": "M",
"dateofbirth": "2011-05-24",
"classid": 18,
"gradelevel": 7,
"platformId": "MSJ-1254"
},
{
"studentid": 1255,
"firstname": "Alicia",
"lastname": "Smith",
"gender": "F",
"dateofbirth": "2010-09-12",
"classid": 18,
"gradelevel": 7,
"platformId": "MSJ-1255"
}
]
Field Definitions
studentid— internal student ID in MySchoolfirstname— student first namelastname— student last namegender— gender value stored in MySchooldateofbirth— date of birth in ISO formatclassid— class identifiergradelevel— grade levelplatformId— stable platform reference for the student
Notes
- You should use this endpoint to keep your student list in sync.
- Only students for the school associated with the API key will be returned.
2) Post Attendance
Use this endpoint to submit attendance records captured by your system.
Endpoint
POST https://app.myschooljamaica.com/api/integration/attendance/records
Required Header
X-API-KEY: your-school-api-key Content-Type: application/json
Request Body Example
{
"id": "RF-20260422-000123",
"studentid": 1254,
"date": "2026-04-22",
"time": "07:28:00",
"session": "am",
"location": "gate"
}
Field Definitions
id— your unique attendance transaction IDstudentid— MySchool student IDdate— attendance date inyyyy-MM-ddformattime— attendance time inHH:mm:ssformatsession— allowed values:amorpmlocation— attendance capture point, for examplegate
Success Response Example
{
"success": true,
"message": "Attendance record received.",
"providerRecordId": "RF-20260422-000123"
}
Duplicate Response Example
{
"success": true,
"message": "Duplicate ignored.",
"providerRecordId": "RF-20260422-000123"
}
Error Response Example
{
"success": false,
"message": "Invalid session value. Allowed values are am or pm."
}
Important Rules
To ensure clean integration, please follow these rules:
1. Send a Unique id for Every Attendance Record
Each attendance submission must have a unique transaction ID in your system.
This helps us prevent duplicates if a request is retried.
2. Use the Exact studentid Returned by MySchool
Attendance must be posted using the studentid provided by the student sync endpoint.
3. Use Standard Formats
Please send:
dateasyyyy-MM-ddtimeasHH:mm:sssessionas lowercaseamorpm
4. Use HTTPS Only
All API requests must be sent over HTTPS.
5. Include the API Key on Every Request
Requests without a valid API key will be rejected.
Expected Integration Flow
A typical integration flow is:
Student Sync
- Your system calls the student endpoint.
- MySchool returns the school’s student list.
- Your system stores or updates those students locally.
Attendance Submission
- A student taps an RF card at your kiosk.
- Your system captures the attendance event.
- Your system sends the attendance record to MySchool.
- MySchool validates and stores the record.
- A success, duplicate, or error response is returned.
Best Practices
We recommend that your system:
- sync students regularly
- store the MySchool
studentidwith each local student record - retry only when there is a network or server failure
- not resend the same
idwith changed values - log outbound requests for troubleshooting
Authentication Failure Example
If the API key is missing or invalid, the API will respond with an unauthorized response similar to:
{
"success": false,
"message": "Invalid API key."
}
Support Information
Before going live, we recommend a short test cycle:
- verify API key
- test student sync
- post sample attendance records
- verify duplicate handling
- confirm production readiness for each school
If needed, our team can provide sample test records and assist during onboarding.
Comments
0 comments
Please sign in to leave a comment.