Portal API (1.0.0)

Download OpenAPI specification:Download

club-portal にて使われる API です。

auth

認証関係の API です。

認証情報を取得します。

Authorizations:
session

Responses

Response samples

Content type
application/json
Example
{
  • "session_uuid": "6d960547-af7e-41de-a33a-be52bc811dc6",
  • "user_uuid": "a4966f60-41e5-4534-bd90-1a89bb74fe06",
  • "email": "foo@example.com",
  • "name": "John Joe",
  • "role": "domain",
  • "avatar": "https://..."
}

ログイン処理を行います。

query Parameters
redirect_url
string
Example: redirect_url=/clubs

コールバック処理後のリダイレクト先を指定します。クエリがない場合 / へ返されます。

Responses

コールバック処理を行います。

query Parameters
code
string

Google OAuth から返されるクエリ。

state
string

Google OAuth から返されるクエリ

Responses

認証情報を破棄します。

Responses

user

ユーザ関係の API です。

自身のユーザ情報を取得します。 (認証が必要)

Authorizations:
session

Responses

Response samples

Content type
application/json
Example
{
  • "user_uuid": "string",
  • "email": "string",
  • "name": "string",
  • "role": "domain"
}

新しくユーザ (General) を作成します。 (Admin のみ)

Authorizations:
session
Request Body schema: application/json

作成に必要なユーザ情報

email
string
name
string

Responses

Request samples

Content type
application/json
{
  • "email": "foo@example.com",
  • "name": "Foo Club"
}

Response samples

Content type
application/json
{
  • "user_uuid": "string",
  • "email": "string",
  • "name": "string",
  • "role": "domain"
}

userUUID のユーザを取得します。 (自身の UUID のみ)

Authorizations:
session
path Parameters
userUUID
required
string <uuidv4>

登録しているユーザの UUID

Responses

Response samples

Content type
application/json
Example
{
  • "user_uuid": "string",
  • "email": "string",
  • "name": "string",
  • "role": "domain"
}

userUUID のユーザ情報を編集します。 (自身の UUID のみ)

Authorizations:
session
path Parameters
userUUID
required
string <uuidv4>

登録しているユーザの UUID

Request Body schema: application/json

編集に必要なユーザ情報

name
string
role
string
club_uuid
string <uuidv4>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "role": "string",
  • "club_uuid": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "role": "string",
  • "club_uuid": "string"
}

userUUID のお気に入りサークルを取得します。 (自身の UUID のみ)

Authorizations:
session
path Parameters
userUUID
required
string <uuidv4>

登録しているユーザの UUID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

userUUID のお気に入りサークルを登録します。 (自身の UUID のみ)

Authorizations:
session
path Parameters
userUUID
required
string <uuidv4>

登録しているユーザの UUID

Request Body schema: application/json

登録に必要なサークル情報

club_uuid
string <uuidv4>

Responses

Request samples

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

Response samples

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

userUUID が clubUUID のサークルをお気に入り登録しているか確認します。 (自身の UUID のみ)

Authorizations:
session
path Parameters
userUUID
required
string <uuidv4>

登録しているユーザの UUID

clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

Response samples

Content type
application/json
{
  • "status": true
}

userUUID のお気に入りサークルを解除します。 (自身の UUID のみ)

Authorizations:
session
path Parameters
userUUID
required
string <uuidv4>

登録しているユーザの UUID

Request Body schema: application/json

解除に必要なサークル情報

club_uuid
string <uuidv4>

Responses

Request samples

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

Response samples

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

club

サークル関係の API です。

全てのサークルを取得します。

Responses

Response samples

Content type
application/json
{
  • "club_uuid": "string",
  • "club_slug": "string",
  • "name": "string",
  • "description": "string",
  • "short_description": "string",
  • "campus": 0,
  • "club_type": 0,
  • "updated_at": "string",
  • "thumbnail": {
    }
}

新しくサークルを作成します。 (General のみ)

Authorizations:
session
Request Body schema: application/json

作成に必要なサークル情報。

name
string
description
string
short_description
string
campus
integer <uint8> (Campus)
Enum: 0 1
club_type
integer <uint8> (ClubType)
Enum: 0 1 2
Array of objects (Content)
Array of objects (Link)
Array of objects (Schedule)
Array of objects (Achievement)
Array of objects (ImageRequest)
Array of objects (Video)
Array of objects (ActivityDetail)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "short_description": "string",
  • "campus": 0,
  • "club_type": 0,
  • "contents": [
    ],
  • "links": [
    ],
  • "schedules": [
    ],
  • "achievements": [
    ],
  • "images": [
    ],
  • "videos": [
    ],
  • "activity_details": [
    ]
}

Response samples

Content type
application/json
{
  • "club_uuid": "string",
  • "club_slug": "string",
  • "name": "string",
  • "description": "string",
  • "short_description": "string",
  • "campus": 0,
  • "club_type": 0,
  • "updated_at": "string",
  • "thumbnail": {
    }
}

clubUUID のサークル情報を編集します。 (General のみ)

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Request Body schema: application/json

編集に必要なサークル情報

description
string
short_description
string
Array of objects (Content)
Array of objects (Link)
Array of objects (Schedule)
Array of objects (Achievement)
Array of objects (ImageRequest)
Array of objects (Video)
Array of objects (ActivityDetail)

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "short_description": "string",
  • "contents": [
    ],
  • "links": [
    ],
  • "schedules": [
    ],
  • "achievements": [
    ],
  • "images": [
    ],
  • "videos": [
    ],
  • "activity_details": [
    ]
}

Response samples

Content type
application/json
{
  • "description": "string",
  • "short_description": "string",
  • "contents": [
    ],
  • "links": [
    ],
  • "schedules": [
    ],
  • "achievements": [
    ],
  • "images": [
    ],
  • "videos": [
    ],
  • "activity_details": [
    ]
}

サークルを検索します。

query Parameters
content
required
string

検索ワード

Responses

Response samples

Content type
application/json
{
  • "club_uuid": "string",
  • "club_slug": "string",
  • "name": "string",
  • "description": "string",
  • "short_description": "string",
  • "campus": 0,
  • "club_type": 0,
  • "updated_at": "string",
  • "thumbnail": {
    }
}

clubSlug のサークル情報を取得します。

path Parameters
clubSlug
required
string

サークルの個別 URL

Responses

Response samples

Content type
application/json
{
  • "club_uuid": "string",
  • "name": "string",
  • "description": "string",
  • "short_description": "string",
  • "campus": 0,
  • "club_type": 0,
  • "updated_at": "string",
  • "contents": [
    ],
  • "links": [
    ],
  • "schedules": [
    ],
  • "achievements": [
    ],
  • "images": [
    ],
  • "videos": [
    ],
  • "activity_details": [
    ]
}

clubUUID のサークル情報を取得します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

Response samples

Content type
application/json
{
  • "club_uuid": "string",
  • "name": "string",
  • "description": "string",
  • "short_description": "string",
  • "campus": 0,
  • "club_type": 0,
  • "updated_at": "string",
  • "contents": [
    ],
  • "links": [
    ],
  • "schedules": [
    ],
  • "achievements": [
    ],
  • "images": [
    ],
  • "videos": [
    ],
  • "activity_details": [
    ]
}

clubUUID のサークル情報を非公開にします。 (Admin のみ)

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

clubUUID の achievement を取得します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の achievement を編集します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Request Body schema: application/json

編集に必要な achievement 情報

Array
achievement
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の activity_detail を取得します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の activity_detail を編集します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Request Body schema: application/json

編集に必要な activity_detail 情報

Array
time_id
integer <uint32>
date
string
time
string
time_remark
string or null
place_id
integer <uint32>
place
string
place_remark
string or null

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の content を取得します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の content を編集します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Request Body schema: application/json

編集に必要な content 情報

Array
content
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の description を取得します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

Response samples

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

clubUUID の description を編集します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Request Body schema: application/json

編集に必要な description 情報

description
string

Responses

Request samples

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

Response samples

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

clubUUID の image を取得します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の image を取得します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Request Body schema: application/json

編集に必要な image 情報

Array
image_id
integer <uint32>

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の link を取得します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の link を編集します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Request Body schema: application/json

編集に必要な link 情報

Array
label
string
url
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の schedule を取得します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の schedule を編集します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Request Body schema: application/json

編集に必要な schedule 情報

Array
month
integer <uint8>
schedule
string
remarks
string or null

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の video を取得します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

clubUUID の video を編集します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Request Body schema: application/json

編集に必要な video 情報

Array
path
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

upload

画像などアップロード関係の API です。

自身がアップロードした画像を取得します。

Authorizations:
session

Responses

Response samples

Content type
application/json
[
  • {
    }
]

画像をアップロードします。

Authorizations:
session
Request Body schema:

アップロードする画像

string <binary>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

imageID の画像を取得します。

Authorizations:
session
path Parameters
imageID
required
integer

画像の ID

Responses

Response samples

Content type
application/json
{
  • "image_id": 0,
  • "path": "string"
}

imageID の画像を削除します。

Authorizations:
session
path Parameters
imageID
required
integer

画像の ID

Responses

clubUUID のサークルのサムネイルを取得します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

Response samples

Content type
application/json
{
  • "thumbnail_id": 0,
  • "path": "string"
}

clubUUID のサークルのサムネイルを変更します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Request Body schema:

アップロードするサムネイル

string <binary>

Responses

Response samples

Content type
application/json
{
  • "thumbnail_id": 0,
  • "path": "string"
}

clubUUID のサークルのサムネイルを初期化します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Responses

thumbnailID のサムネイルを取得します。

Authorizations:
session
path Parameters
thumbnailID
required
integer

サムネイルの ID

Responses

Response samples

Content type
application/json
{
  • "thumbnail_id": 0,
  • "path": "string"
}

admin

Admin User が使用可能な API です。

全てのユーザの情報を Admin User 権限で取得します。

Authorizations:
session

Responses

Response samples

Content type
application/json
[
  • {
    }
]

userUUID のユーザの情報を Admin User 権限で取得します。

Authorizations:
session
path Parameters
userUUID
required
string <uuidv4>

登録しているユーザの UUID

Responses

Response samples

Content type
application/json
{
  • "user_uuid": "string",
  • "email": "string",
  • "name": "string",
  • "role": "domain"
}

userUUID のユーザ情報を Admin User 権限で変更します。

Authorizations:
session
path Parameters
userUUID
required
string <uuidv4>

登録しているユーザの UUID

Request Body schema: application/json

変更するユーザのユーザ情報

email
string
name
string
club_uuid
string <uuidv4>

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "name": "string",
  • "club_uuid": "string"
}

Response samples

Content type
application/json
{
  • "email": "string",
  • "name": "string",
  • "club_uuid": "string"
}

特定のサークル情報を Admin User 権限で変更します。

Authorizations:
session
path Parameters
clubUUID
required
string <uuidv4>

サークルの個別 UUID

Request Body schema: application/json

編集に必要なユーザ情報

visible
boolean
description
string
short_description
string
Array of objects (Content)
Array of objects (Link)
Array of objects (Schedule)
Array of objects (Achievement)
Array of objects (ImageRequest)
Array of objects (Video)
Array of objects (ActivityDetail)

Responses

Request samples

Content type
application/json
{
  • "visible": true,
  • "description": "string",
  • "short_description": "string",
  • "contents": [
    ],
  • "links": [
    ],
  • "schedules": [
    ],
  • "achievements": [
    ],
  • "images": [
    ],
  • "videos": [
    ],
  • "activity_details": [
    ]
}

Response samples

Content type
application/json
{
  • "visible": true,
  • "description": "string",
  • "short_description": "string",
  • "contents": [
    ],
  • "links": [
    ],
  • "schedules": [
    ],
  • "achievements": [
    ],
  • "images": [
    ],
  • "videos": [
    ],
  • "activity_details": [
    ]
}