The following documents the current API endpoints
This API returns an array of objects with the following properties each:
- timestamp (in milliseconds)
- type (club, school, or other)
- origin (where the announcement originated from)
- originLink (link to origin, if any)
- title (announcement title)
- content (announcement content)
- announcer (person who created announcement)
- id (id of the announcement)
To use this endpoint, send a POST request with these optional parameters:
- id (id of the announcement, if you are looking for a specific one)
- before (return filter announcements to before this timestamp in millis)
- after (return filter announcements to after this timestamp in millis)
- amount (amount of results to return, default is 10)
The result set is ordered by timestamp, in descending order
This API returns an array of objects with the following properties each:
- date (String of DD-MM-YYYY)
- day (integer day 1/2/3/4)
- type (String of "school", "break", or "weekend")
- semester (1,2,3,4,or 0)
- events (array of objects {date, startTime, endTime, name, and info})
The client sends a POST request with 2 fields: startdate object, comprising of {day, month, and year (all integers)} and days, which specifies
how many days in the calendar after startdate the server should send. Authorization header is required.
This API returns a JSON object with the following properties:
- username
- id
- firstname
- lastname
- bio
To use this endpoint, send a GET or POST request without any body, with a valid Authorization Header that has the JWT token.
This API accepts a JSON string for the timetable (client defines format) with a valid authorization header.
The JSON is stored in the DB for future access.
A 200 OK status is returned if the storage/update was successful
This API returns the JSON string stored by the user in timetable/edit API. (Auth header required)
Login API that requires either one of password, or email, and of course the password.
It returns:
- accessToken (the JWT access token that expires in 20 minutes)
- refreshToken (the refresh token to obtain a new access token. this is permanent until the user logs out)
Returns a 200 OK status if successful. Must provide a token field in request body with the refresh token.
Must provide the following fields:
- username
- password
- firstname
- lastname
A verification email will be sent after a successful request (which returns the new user's id). You should then prompt them for a request to user/verify
This API is where you refresh the access token with the refresh token
Must provide token field in request with refresh token, API will return a single accessToken field
POST request a single field code with the verification code sent through email.
200 OK is sent if successful, otherwise a 401 Not Authorized or 500 Internal Server Error