SCU Schedule Helper API (1.0.0)

Download OpenAPI specification:Download

License: MIT

A better scheduling tool for SCU students.

API for managing user information on the SCU Schedule Helper Chrome extension.

Authentication

Get an access token (JWT)

Get a new JWT for the current user, using a Google OAuth token, or a refresh token.

Authorizations:
oauthbearerRefreshToken

Responses

Response samples

Content type
application/json
Example
{
  • "refreshToken": "string",
  • "oAuthInfo": {
    },
  • "accessToken": "string",
  • "accessTokenExpirationDate": "2019-08-24T14:15:22Z"
}

SCU Evaluations

Get SCU Evaluations data

Get all of the SCU Evaluations data aggregated by professor and course.

Authorizations:
bearerAccessToken

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "dataExpirationDate": "2024-03-01T00:00:00Z"
}

Users

Query users by name

Get a list of users that match the specified name.

Authorizations:
bearerAccessToken
query Parameters
name
required
string

The name to search for. Note that this is a case-insensitive search, where the query name is matched to the beginning of the user's name (e.g., "j" would match "John Doe", but "doe" would not).

Responses

Response samples

Content type
application/json
[]

Create a new user

Create a new user with the specified information.

Authorizations:
bearerAccessToken
Request Body schema: application/json
required
photoUrl
string

A URL to the user's profile picture.

name
required
string

The user's full name.

photo
string

A base64-encoded image of the user's profile picture.

subscription
required
string

A stringified webpush subscription object.

Responses

Request samples

Content type
application/json
{
  • "photoUrl": "string",
  • "name": "John Doe",
  • "photo": "b64 image",
  • "subscription": "{ endpoint: \"https://fcm.googleapis.com/fcm/send/id\", expirationTime: null, keys: { p256dh: \"\", auth: \"\", }, };"
}

Response samples

Content type
application/json
{}

Update a user

Authorizations:
bearerAccessToken
Request Body schema: application/json
required
Any of
object

Responses

Request samples

Content type
application/json
Example
{
  • "interestedSections": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Error message."
}

Delete a user

Deletes all entries associated with a given userId from the database if the user is authorized

Authorizations:
bearerAccessToken

Responses

Response samples

Content type
application/json
{
  • "message": "Error message."
}

Get a user's info

Get the maximum amount of information about a user that the current user is authorized to see.

Authorizations:
bearerAccessToken
path Parameters
userId
required
string

The ID of the user to get information for (for the contextual user, this should just be "me").

Responses

Response samples

Content type
application/json
Example
{}