/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.
Session and program metadata (meta) plus calendar activity rows for UiTM Group A / Group B schedules.
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.
| Name | Type | Description | Example |
|---|---|---|---|
all | string | When set to true (also accepts "1" or "yes"), returns metadata for all groups and ignores the `group` filter. Legacy alias: `entire`. | true |
group | string | Limits metadata options to one group. Accepted values are "A" or "B". | A |
| Field | Type | Description | Example |
|---|---|---|---|
apiVersion | string | API version included in the response payload. | 1 |
baseUrl | string | Public base URL for this API. | https://api.bilauitmcuti.com |
all | boolean | Included when `all=true` is used in the request. | true |
defaultSession | object|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" } |
sessionOptions | object[] | Available session choices with id, label, and group. | [{ "id": "A-20264", "label": "Jun 2026 - Oct 2026", "group": "A" }] |
programOptions | object[] | Available program filter options with label, value, and group. | [{ "label": "Diploma", "value": "Diploma", "group": "B" }] |
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.
| Name | Type | Description | Example |
|---|---|---|---|
all | string | When true (or "1"/"yes"), returns the full calendar dataset including defaults, options, and activities for all sessions. Legacy alias: `entire`. | true |
session | string | 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 |
group | string | Group filter for calendar lookup. Accepted values are "A" or "B". | A |
allSessions | string | When true (or "1"/"yes"), returns activities for every session in the selected group. | true |
program | string | Program filter, typically used for Group B data. | Diploma |
type | string | Activity type filter such as lecture, break, examination, registration, or other. | break |
| Field | Type | Description | Example |
|---|---|---|---|
apiVersion | string | API version included in the response payload. | 1 |
baseUrl | string | Public base URL for this API. | https://api.bilauitmcuti.com |
all | boolean | Included when `all=true` is used in the request. | true |
defaultSession | object | Per-group default session ids (`A` and `B`) returned in full dataset mode. | { "A": "A-20264", "B": "B-20264" } |
sessionOptions | array | Session option list returned in full dataset mode. | [{ "id": "A-20264", "label": "Jun 2026 - Oct 2026", "group": "A" }] |
programOptions | array | Program option list returned in full dataset mode. | [{ "label": "Diploma", "value": "Diploma", "group": "B" }] |
sessions | array|object | Session collection containing activity payloads, shape depends on request mode. | { "A-20251": { "activities": [] } } |
allSessions | boolean | Included when grouped multi-session mode is enabled. | true |
group | string | Resolved group key for grouped responses. | A |
session | object | Resolved session metadata for single-session responses. | { "id": "A-20251", "label": "Dec 2025 - May 2026", "group": "A" } |
filters | object | Applied query filters returned for traceability. | { "program": "Diploma", "type": "break" } |
activities | array | 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" }] |
meta | object | Summary counters describing response totals and returned item counts. | { "totalInSession": 48, "returned": 12 } |
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.
| Name | Type | Description | Example |
|---|---|---|---|
group | string | Required. Select group first for session resolution. Accepted values are "A" or "B". | A |
date | string | Target date in ISO format. Defaults to today's date when omitted. | 2026-03-09 |
session | string | 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 |
program | string | Program filter, mainly for Group B sessions. | Diploma |
| Field | Type | Description | Example |
|---|---|---|---|
apiVersion | string | API version included in the response payload. | 1 |
baseUrl | string | Public base URL for this API. | https://api.bilauitmcuti.com |
date | string | Resolved date in ISO format. | 2026-03-09 |
sessionResolved | object | Resolved session metadata. | { "id": "A-20251", "label": "Dec 2025 - May 2026", "group": "A" } |
filters | object | Applied filters (program). | { "program": null } |
statuses | string[] | All matched status values for the day. | ["exam_week"] |
primaryStatus | string | Highest-priority status for quick display. | exam_week |
matchedActivities | object[] | Calendar activities active on that date. | [{ "name": "Lecture 3", "startDate": "2026-02-23", "endDate": "2026-03-19", "type": "lecture", "group": "A" }] |
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.
| Name | Type | Description | Example |
|---|---|---|---|
session | string | Session id from GET /api/v1/meta (`sessionOptions`). Do not hardcode; the published set changes each term. | B-20264 |
| Field | Type | Description | Example |
|---|---|---|---|
apiVersion | string | API version included in the response payload. | 1 |
baseUrl | string | Public base URL for this API. | https://api.bilauitmcuti.com |
session | object | Resolved session metadata. | { "id": "B-20264", "label": "Sep 2026 - Feb 2027", "group": "B" } |
limit | integer | Maximum number of lecture weeks returned (currently 14). | 14 |
weeks | object[] | 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" }] }] |
meta | object | 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" } |