UiTM Academic Calendar

Session and program metadata (meta) plus calendar activity rows for UiTM Group A / Group B schedules.

GET

/api/v1/meta

Sessions & programs (meta)

Returns session and program options used by calendar queries, including the default session. Use `group` to limit options to one group, or `all=true` to return the full catalog.

Query parameters

NameTypeDescriptionExample
allstring
When set to true (also accepts "1" or "yes"), returns metadata for all groups and ignores the `group` filter. Legacy alias: `entire`.
true
groupstring
Limits metadata options to one group. Accepted values are "A" or "B".
A

Response fields

FieldTypeDescriptionExample
apiVersionstring
API version included in the response payload.
1
baseUrlstring
Public base URL for this API.
https://api.bilauitmcuti.com
allboolean
Included when `all=true` is used in the request.
true
defaultSessionobject|string
Default session map `{ A, B }` when `group` is omitted or `all=true`. When `group=A|B`, this is that group’s default session id (string).
{ "A": "A-20264", "B": "B-20264" }
sessionOptionsobject[]
Available session choices with id, label, and group.
[{ "id": "A-20264", "label": "Jun 2026 - Oct 2026", "group": "A" }]
programOptionsobject[]
Available program filter options with label, value, and group.
[{ "label": "Diploma", "value": "Diploma", "group": "B" }]

Example requests

Loading code samples…
GET

/api/v1/calendar

Calendar activities

Returns calendar activity rows for one session or multiple sessions in a group. Optional filters such as `program` and `type` can narrow the result set.

Query parameters

NameTypeDescriptionExample
allstring
When true (or "1"/"yes"), returns the full calendar dataset including defaults, options, and activities for all sessions. Legacy alias: `entire`.
true
sessionstring
Session id from GET /api/v1/meta (`sessionOptions`). Do not hardcode; the published set changes each term. Omit to aggregate all sessions in the selected group.
B-20264
groupstring
Group filter for calendar lookup. Accepted values are "A" or "B".
A
allSessionsstring
When true (or "1"/"yes"), returns activities for every session in the selected group.
true
programstring
Program filter, typically used for Group B data.
Diploma
typestring
Activity type filter such as lecture, break, examination, registration, or other.
break

Response fields

FieldTypeDescriptionExample
apiVersionstring
API version included in the response payload.
1
baseUrlstring
Public base URL for this API.
https://api.bilauitmcuti.com
allboolean
Included when `all=true` is used in the request.
true
defaultSessionobject
Per-group default session ids (`A` and `B`) returned in full dataset mode.
{ "A": "A-20264", "B": "B-20264" }
sessionOptionsarray
Session option list returned in full dataset mode.
[{ "id": "A-20264", "label": "Jun 2026 - Oct 2026", "group": "A" }]
programOptionsarray
Program option list returned in full dataset mode.
[{ "label": "Diploma", "value": "Diploma", "group": "B" }]
sessionsarray|object
Session collection containing activity payloads, shape depends on request mode.
{ "A-20251": { "activities": [] } }
allSessionsboolean
Included when grouped multi-session mode is enabled.
true
groupstring
Resolved group key for grouped responses.
A
sessionobject
Resolved session metadata for single-session responses.
{ "id": "A-20251", "label": "Dec 2025 - May 2026", "group": "A" }
filtersobject
Applied query filters returned for traceability.
{ "program": "Diploma", "type": "break" }
activitiesarray
Calendar activity rows for the resolved session.
[{ "name": "Lecture 1", "startDate": "2026-06-15", "endDate": "2026-08-02", "duration": "7 Minggu", "type": "lecture", "group": "A" }]
metaobject
Summary counters describing response totals and returned item counts.
{ "totalInSession": 48, "returned": 12 }

Example requests

Loading code samples…
GET

/api/v1/today

Today's status

Returns what is happening for a given date (defaults to today): class day, break, exam week, or study week from academic calendar data.

Query parameters

NameTypeDescriptionExample
groupstring
Required. Select group first for session resolution. Accepted values are "A" or "B".
A
datestring
Target date in ISO format. Defaults to today's date when omitted.
2026-03-09
sessionstring
Session id from GET /api/v1/meta (`sessionOptions`). Do not hardcode; the published set changes each term. Omit to aggregate all sessions in the selected group.
B-20264
programstring
Program filter, mainly for Group B sessions.
Diploma

Response fields

FieldTypeDescriptionExample
apiVersionstring
API version included in the response payload.
1
baseUrlstring
Public base URL for this API.
https://api.bilauitmcuti.com
datestring
Resolved date in ISO format.
2026-03-09
sessionResolvedobject
Resolved session metadata.
{ "id": "A-20251", "label": "Dec 2025 - May 2026", "group": "A" }
filtersobject
Applied filters (program).
{ "program": null }
statusesstring[]
All matched status values for the day.
["exam_week"]
primaryStatusstring
Highest-priority status for quick display.
exam_week
matchedActivitiesobject[]
Calendar activities active on that date.
[{ "name": "Lecture 3", "startDate": "2026-02-23", "endDate": "2026-03-19", "type": "lecture", "group": "A" }]

Example requests

Loading code samples…
GET

/api/v1/lecture-weeks

Lecture weeks (1-14)

Returns up to 14 instructional weeks (Week 1 onward) for the given session. Each week is a Mon-Sun calendar slot that contains at least one lecture day; break days (mid-semester, festival, revision, etc.) are omitted from the days list rather than dropping the whole week. Weeks with no lecture days, or where every day is break, are skipped. Each included week lists only its instructional days with English weekday and month names. Requires query parameter session only.

Query parameters

NameTypeDescriptionExample
sessionstring
Session id from GET /api/v1/meta (`sessionOptions`). Do not hardcode; the published set changes each term.
B-20264

Response fields

FieldTypeDescriptionExample
apiVersionstring
API version included in the response payload.
1
baseUrlstring
Public base URL for this API.
https://api.bilauitmcuti.com
sessionobject
Resolved session metadata.
{ "id": "B-20264", "label": "Sep 2026 - Feb 2027", "group": "B" }
limitinteger
Maximum number of lecture weeks returned (currently 14).
14
weeksobject[]
Instructional weeks numbered 1 onward. Break days within a week are excluded from days; weekStart and weekEnd reflect the first and last listed instructional day. Weeks with no instructional days are omitted.
[{ "weekNumber": 11, "weekStart": "2026-03-16", "weekEnd": "2026-03-19", "rangeLabel": "16 - 19 March 2026", "days": [{ "date": "2026-03-16", "weekday": "Monday", "label": "Monday, 16 March 2026" }, { "date": "2026-03-19", "weekday": "Thursday", "label": "Thursday, 19 March 2026" }] }]
metaobject
Summary counters: returned week count and the first/last lecture day across all lecture blocks in the session.
{ "weekCount": 14, "firstLectureDate": "2026-03-30", "lastLectureDate": "2026-09-20" }

Example requests

Loading code samples…