← All docs
🔌

API access (Enterprise)

4 min read

The schedU API lets your own software read a school’s schedules. It only reads: nothing can be changed through it. Keys belong to one school (one campus), and are made and revoked by that school’s administrators.

Getting a key

  1. 1Open Settings. Under API access, name the key after what will use it, for example School website, and create it.
  2. 2Copy the key straight away. It is shown once; schedU keeps only a fingerprint of it, so a lost key cannot be shown again. Make a new one instead.
  3. 3Revoke a key from the same place. Anything using it stops working at once.

Making a request

Send the key in the Authorization header. Each key can make 120 requests a minute.

curl -H "Authorization: Bearer sk_live_..." https://app.schedu.bhusku.com/api/public/v1/schedules

Endpoints

  • •GET /api/public/v1/schedules - every schedule of the school: id, name, status, whether it is live, and when it was made and last changed.
  • •GET /api/public/v1/schedules/{id} - one schedule: its working days, its periods (id, name, type, minutes), and every lesson.
  • •Narrow the lessons with ?class=VI-A, ?teacher=R. Naomi or ?day=MONDAY, alone or together.

Each lesson gives its class, day, period id and name, subject, every teacher taking it, and its room. A parallel lesson (an AND group) also lists each of its groups with that group’s own subject, teacher and room.

{
  "class": "VI-A", "day": "MONDAY", "periodId": "p1", "period": "Period 1",
  "subject": "Hindi AND Odia", "teachers": ["Hindi Teacher", "Odia Teacher"], "room": "Room 5",
  "groups": [
    { "subject": "Hindi", "teacher": "Hindi Teacher", "room": "Room 5" },
    { "subject": "Odia", "teacher": "Odia Teacher", "room": "Room 6" }
  ]
}
💡 A missing or revoked key gets 401. A school that is not on the Enterprise plan gets 402.
Ready to try it?Start freeTalk to us →