OneRoster overview
Connect the school's student information system (SIS) to the internship portal with OneRoster 1.2.
Each school's portal offers an API that follows the international 1EdTech OneRoster 1.2 standard, so the school's SIS or another system can read students, internship seasons and internship results. Any software that already supports OneRoster can connect without custom work.
At a glance
- Standard: OneRoster 1.2, Rostering and Gradebook services, REST binding, read-only.
- Authentication: OAuth 2.0 client credentials, as OneRoster 1.2 requires. See Authentication.
- Address: each school uses its own portal address, e.g.
https://<school>.<platform-domain>. A school's credentials only work there and only see that school's data. - Format: JSON, UTF-8. Timestamps are ISO 8601 (UTC); dates (
startDate,endDate,scoreDate) are in Vietnam time.
Quick start
Create a connection
School staff open Kết nối hệ thống (Integrations) → Tạo kết nối (New connection), name it, pick its scopes, and send the client_id and client_secret to whoever runs the system. The secret is shown once.
Get an access token
curl -u "CLIENT_ID:CLIENT_SECRET" \
-d "grant_type=client_credentials" \
https://<school>.<platform-domain>/oauth/tokenCall the API
curl -H "Authorization: Bearer ACCESS_TOKEN" \
"https://<school>.<platform-domain>/ims/oneroster/rostering/v1p2/students?limit=100"Two services
| Service | Base path | Content |
|---|---|---|
| Rostering | /ims/oneroster/rostering/v1p2 | School, seasons, course, classes, students, staff, enrollments |
| Gradebook | /ims/oneroster/gradebook/v1p2 | Each student's internship result in each season |
Details: Roster data and Internship results. Working code: Sync examples.
Sending data to the portal
The OneRoster API is read-only. To send students, seasons and enrollments from the school's systems:
| Option | Use when |
|---|---|
| OneRoster CSV package | The school's software exports OneRoster CSV packages |
| Portal API (v1) | The system does not follow OneRoster and needs a simple JSON API to read and write |
Machine-readable description
Each portal serves an OpenAPI 3 file at /ims/oneroster/openapi.json, ready for Postman or code generation. The full standard is on the 1EdTech site.