Hupass API (2.0.0-alpha)

Download OpenAPI specification:

Hupass 次世代実装 Pirka の API 定義

ping

疎通確認

ping を叩いて pong を取得します。

Responses

Response samples

Content type
application/json
{
  • "ok": true,
  • "pong": "2019-08-24T14:15:22Z"
}

auth

認可レスポンスを検証してログインを実行

Google (IdP) からの認可レスポンスを検証し、ログイン処理を行います。 ログインの成否に関わらず、ユーザーをクライアントにリダイレクトします。

query Parameters
state
required
string
code
required
string
cookie Parameters
google_oauth2_state
required
string

検証のための state, nonce を含む base64 encoded json

Responses

OIDC 認証を要求

Google (IdP) の認証リクエスト(URL)を作成し、ユーザーをリダイレクトして OIDC 認証を要求します。

Responses

ログアウト

ログアウトします。

cookie Parameters
hupass_session
required
string

セッショントークン

Responses

courses

すべての授業情報を取得

すべての授業情報を取得します。

Responses

Response samples

Content type
application/json
{
  • "courses": [
    ]
}

授業の絞り込みオプションを取得

授業を絞り込む際に指定できるオプションのうち、動的データである年度,学期,学部の一覧を取得します。

Responses

Response samples

Content type
application/json
{
  • "year": [
    ],
  • "faculty": [
    ]
}

指定された授業情報を取得

courseId を用いて指定された授業の情報を取得します。

path Parameters
courseId
required
string
Example: 0193ca23-cdb0-7c29-a99b-f66ff9ef1b28

授業 ID

Responses

Response samples

Content type
application/json
{
  • "course": {
    }
}

users

自分のユーザー情報を取得

ログインユーザーの情報を取得します。

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "id": "0193ca23-cdb0-7c29-a99b-f66ff9ef1b28",
  • "name": "string",
  • "email": "string",
  • "avatar": "http://example.com"
}

自分の授業一覧を取得

ログインユーザーの時間割から、指定された年度の授業をすべて取得します。

Authorizations:
ApiKeyAuth
query Parameters
year
required
string

Responses

Response samples

Content type
application/json
{
  • "courses": [
    ]
}

自分の授業を取得

ログインユーザーの時間割から、指定された授業を取得します。

Authorizations:
ApiKeyAuth
path Parameters
courseID
required
string
Example: 0193ca23-cdb0-7c29-a99b-f66ff9ef1b28

授業 ID

Responses

Response samples

Content type
application/json
{
  • "course": {
    }
}

自分の授業を追加

ログインユーザーの時間割に、指定された授業を追加します。

Authorizations:
ApiKeyAuth
path Parameters
courseID
required
string
Example: 0193ca23-cdb0-7c29-a99b-f66ff9ef1b28

授業 ID

Request Body schema: application/json
required

プロパティを省略または null を指定すると、初期値を設定します。

title
string or null

科目名

subtitle
string or null

講義題目

teacher
string or null

教員

place
string or null

教室

color
string or null

表示色

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "subtitle": "string",
  • "teacher": "string",
  • "place": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

自分の授業を更新

ログインユーザーの時間割で、指定された授業の情報を更新します。

Authorizations:
ApiKeyAuth
path Parameters
courseID
required
string
Example: 0193ca23-cdb0-7c29-a99b-f66ff9ef1b28

授業 ID

Request Body schema: application/json
required

プロパティを省略すると既存の値を維持し、null を指定すると初期値を設定します。

title
string or null

科目名

subtitle
string or null

講義題目

teacher
string or null

教員

place
string or null

教室

color
string or null

表示色

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "subtitle": "string",
  • "teacher": "string",
  • "place": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "course": {
    }
}

自分の授業を削除

ログインユーザーの時間割から、指定された授業を削除します。

Authorizations:
ApiKeyAuth
path Parameters
courseID
required
string
Example: 0193ca23-cdb0-7c29-a99b-f66ff9ef1b28

授業 ID

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

announcements

お知らせ一覧を取得

お知らせ一覧を取得します。

Responses

Response samples

Content type
application/json
{
  • "announcements": [
    ]
}

お知らせを取得

特定のお知らせを取得します。

path Parameters
announcementId
required
string
Example: 0193ca23-cdb0-7c29-a99b-f66ff9ef1b28

お知らせID

Responses

Response samples

Content type
application/json
{
  • "announcement": {
    }
}

お知らせの既読状態を変更

お知らせの既読状態を変更します。

path Parameters
announcementId
required
string
Example: 0193ca23-cdb0-7c29-a99b-f66ff9ef1b28

お知らせID

Request Body schema: application/json
required

変更後の既読状態

boolean

Responses

Request samples

Content type
application/json
true

Response samples

Content type
application/json
{
  • "message": "string"
}