Club Event Calendar (1.0.0)

Download OpenAPI specification:Download

This is the tentative API specification for Club Event Calendar. Only HTTPS supports.

Security Schemes

accessToken

Access token will be used to authenticate/authorize user to use the API.

Security Scheme Type API Key
Cookie parameter name: X-ACCESS-TOKEN

refreshToken

Refresh token will be used to renew expired access token. If the refresh token also expired, the user need to login again by using basic authentication.

Security Scheme Type API Key
Cookie parameter name: X-REFRESH-TOKEN

Auth

Authentication API

Login

Get access/refresh token using id and password

Admin only

Request Body schema: application/json
id
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "id": "gildong123",
  • "password": "gildongpw1"
}

Logout

Logout from current session

Admin only

Authorizations:

Responses

Renew Token

Renew access token using refresh token. If refresh token is about to expire (15 min before expire), renew refresh token together.

Admin only

Authorizations:

Responses

Change Password

Check Refresh Token and current password; then, change user's password/

User may get Bad Request response when:

  • Refresh Token is valid, but enter wrong current password.
  • New Password does not meet the password rule.

If Refresh Token is about to expire (15 min before expire), new refresh token will issued.

Admin Only

Authorizations:
Request Body schema: application/json
currentPassword
required
string
newPassword
required
string

Responses

Request samples

Content type
application/json
{
  • "currentPassword": "thisisprevpassword",
  • "newPassword": "HelloWorld"
}

Calendar

API for displaying information on the calendar

Retrieve event list for each month

Retrieve the number of event and list of given month. Only support months after Jan. 2021.

If no event planned on the month, You will get response that there is no planned event.

path Parameters
year
required
number >= 2021

Year of the month

month
required
number [ 1 .. 12 ]

Month

Responses

Response samples

Content type
application/json
Example
{
  • "numEvent": 0
}

Event

API dealing with specific event

Add new event

Add new event: Date and name are required, category and detail are optional.

Admin Only

Authorizations:
Request Body schema: application/json
year
required
number >= 2021
month
required
number [ 1 .. 12 ]
date
required
number [ 1 .. 31 ]
name
required
string
detail
string
category
string

Responses

Request samples

Content type
application/json
{
  • "year": 2021,
  • "month": 10,
  • "date": 31,
  • "name": "Halloween Party",
  • "detail": "On Oct. 31, we hold Halloween Party. Everyone is welcomed.",
  • "category": "Networking"
}

Delete Event

Delete an existing event: Need unique evnet ID

admin only

Authorizations:
path Parameters
eventID
required
string

Unique ID for an existing event

Responses

Edit Event

Edit an existing event: Need eventId pointing an existing event

Admin Only

Authorizations:
path Parameters
eventID
required
string

Unique ID for an existing event

Request Body schema: application/json
year
number >= 2021
month
number [ 1 .. 12 ]
date
number [ 1 .. 31 ]
name
string
detail
string
category
string

Responses

Request samples

Content type
application/json
{
  • "month": 11,
  • "date": 1,
  • "name": "Late Halloween party",
  • "detail": "We postpone the Halloween party."
}

Get Event Information

Get Event ID: Need unique event ID

path Parameters
eventID
required
string

Unique ID for an existing event

Responses

Response samples

Content type
application/json
{
  • "year": 2021,
  • "month": 11,
  • "date": 1,
  • "name": "Late Halloween party",
  • "detail": "We postpone the Halloween party.",
  • "category": "Networking"
}

Participation

API for participation ticket

Submit Participation Ticket

Create Participation Ticket: Participant's name and email are required. Optionally submit phone number (Korean phone number only, 11 digits) and comment.

If there exists duplicated name and email pair, the API will return BAD REQUEST.

path Parameters
eventID
required
string

Unique ID for an existing event

Request Body schema: application/json
participantName
required
string
phoneNumber
string
email
required
string
comment
string

Responses

Request samples

Content type
application/json
{
  • "participantName": "Gildong Hong",
  • "phoneNumber": "01012345678",
  • "email": "gildong.hong@gmail.com",
  • "comment": "Estimated Time Arrival is 10AM."
}

View Participants

List participants: Return all participation ticket and associated information

Admin only

Authorizations:
path Parameters
eventID
required
string

Unique ID for an existing event

Responses

Response samples

Content type
application/json
Example
{
  • "numParticipants": 0
}

Modify Participation Ticket

Modify Participation Ticket: Edit specific participation ticket

Need unique id for the event and the participation ticket.

Admin only

Authorizations:
path Parameters
eventID
required
string

Unique ID for an existing event

ticketID
required
string

Unique ID for an existing participation ticket

Request Body schema: application/json
participantName
string
phoneNumber
string
email
string
comment
string

Responses

Request samples

Content type
application/json
{
  • "phoneNumber": "01077777777"
}

Delete Participation Ticket

Delete Participation Ticket: Need unique eventID and ticketID

Admin Only

Authorizations:
path Parameters
eventID
required
string

Unique ID for an existing event

ticketID
required
string

Unique ID for an existing ticket

Responses