4. OpenAPI Specification

The following endpoints are defined for the Flask app:

POST /api/v1/auth/login

User authentication method.

Authenticate user with supplied credentials.

Status Codes
DELETE /api/v1/auth/logout

User logout method.

Revoke user authentication.

Status Codes
  • 200 OK – User successfully logged out.

POST /api/v1/auth/refresh

User authentication refresh method.

Refresh authentication of user with supplied credentials.

Status Codes
POST /api/v1/auth/register

User registration method.

Register user with supplied credentials.

Status Codes
DELETE /api/v1/auth/remove

User removal method.

Remove the authenticated user from registered users.

Status Codes
DELETE /api/v1/auth/revoke

Revoke JWT refresh token.

Revoke JWT refresh token.

Status Codes
  • 200 OK – Successfully revoked refresh token.

GET /api/v1/gifts/list

List all gifts added to user’s gift list.

Return the user’s gift list data.

Status Codes
  • default – Default response

POST /api/v1/gifts/list/add

Add a gift to the user’s gift list.

Add gift to user list.

Query Parameters
  • item_id (integer) – The unique integer ID representing a store item. (Required)

  • quantity (integer) – Number of desired (available) gifts of this item.

Status Codes
GET /api/v1/gifts/list/report

Produce report of purchased and non-purchased gifts within user list.

Produce report of user’s gift list.

Status Codes
DELETE /api/v1/gifts/list/{gift_id}

Remove gift from user’s gift list.

Parameters
  • gift_id (integer) –

Status Codes
  • default – Default response

GET /api/v1/gifts/list/{gift_id}

Retrieve gift information.

Retrieve information on gift.

Parameters
  • gift_id (integer) – The unique integer ID representing a gift item.

Status Codes
  • 200 OK – Successfuly returned gift item data.

POST /api/v1/gifts/list/{gift_id}/purchase

Purchase gift from list.

Purchase the gift

Parameters
  • gift_id (integer) – The unique gift item ID.

Query Parameters
  • quantity (integer) – The quantity of the gift to purchase (default is 1).

Status Codes
  • default – Default response

GET /api/v1/store/items

List items method.

Retrieve list of items in store.

Status Codes
POST /api/v1/store/items

Create a new item.

Add a new item to the store.

Status Codes
DELETE /api/v1/store/items/id/{item_id}

Delete item from store. [Requires admin user]

Status Codes
  • default – Default response

GET /api/v1/store/items/id/{item_id}

Single item data retrieval method.

Retrieve individual item data.

Parameters
  • item_id (integer) – The unique integer ID representing a store item.

Status Codes
POST /api/v1/store/order

Order creation method.

Create a new order.

Status Codes
GET /api/v1/store/orders

List orders retrieval method.

Retrieve list of orders.

Status Codes
DELETE /api/v1/store/orders/id/{order_id}

Void order method.

Mark order as voided.

Parameters
  • order_id (integer) – The unique integer ID representing an order item.

Status Codes
GET /api/v1/store/orders/id/{order_id}

Order data retrieval method.

Retrieve data associated with specified order.

Parameters
  • order_id (integer) – The unique integer ID representing an order item.

Status Codes