MeetAtMensa (2.3.2)

Download OpenAPI specification:

This OpenAPI specification defines the endpoints, schemas, and security mechanisms for the Meet@Mensa User micro-service.

GenAI

Paths belonging to the GenAI microservice

Request Conversation Starter

Request a series of conversation starter prompts from the GenAI microservice. Provide infomation about users on request.

Authorizations:
jwt-bearer
Request Body schema: application/json
required
Array of objects (User)

Responses

Request samples

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

Response samples

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

Matching

Paths belonging to the Matching microservice

Submit matching Request

Submit a new matching request to the Matching-Service

Authorizations:
jwt-bearer
Request Body schema: application/json
userID
required
string <uuid> (userID)

The unique ID of a single student in the Meet@Mensa system.

date
required
string <date>

The date a user would like meet@mensa to find them a match

timeslot
required
Array of integers (timeslot) [ items [ 1 .. 16 ] ]
location
required
any (location)
Enum: "GARCHING" "ARCISSTR"

Enumerator representing a mensa at which a meet can happen

Value Description
GARCHING The Mensa at the TUM Garching Campus
ARCISSTR The Mensa at the TUM Innenstadt Campus (Arcisstr. 21)
required
object (MatchPreferences)

Object Representing a set of user preferences

Responses

Request samples

Content type
application/json
{
  • "userID": "2c3821b8-1cdb-4b77-bcd8-a1da701e46aa",
  • "date": "2019-08-24",
  • "timeslot": [
    ],
  • "location": "GARCHING",
  • "preferences": {
    }
}

Response samples

Content type
application/json
{
  • "requestID": "e4619679-f5d9-4eff-9f79-bbded6130bb1",
  • "userID": "2c3821b8-1cdb-4b77-bcd8-a1da701e46aa",
  • "date": "2019-08-24",
  • "timeslot": [
    ],
  • "location": "GARCHING",
  • "preferences": {
    },
  • "status": "PENDING"
}

Retrieve all matches for a {user-id}

Retrieve all matches for a user with {user-id} from the matching-service

Authorizations:
jwt-bearer
path Parameters
user-id
required
string <uuid>

UUID associated with a given user

Responses

Response samples

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

Retrieve all MatchRequests for a {user-id}

Retrieve all MatchRequests for a user with {user-id} from the matching-service

Authorizations:
jwt-bearer
path Parameters
user-id
required
string <uuid>

UUID associated with a given user

Responses

Response samples

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

Delete MatchRequest with {request-id}

Delete MatchRequest with ID {request-id} from the system

Authorizations:
jwt-bearer
path Parameters
request-id
required
string <uuid>

UUID associated with a given match request

Responses

Update MatchRequest with {request-id}

Update all information in the MatchRequest with ID {request-id}

Authorizations:
jwt-bearer
path Parameters
request-id
required
string <uuid>

UUID associated with a given match request

Request Body schema: application/json
date
string <date>

The date a user would like meet@mensa to find them a match

timeslot
Array of integers (timeslot) [ items [ 1 .. 16 ] ]
location
any (location)
Enum: "GARCHING" "ARCISSTR"

Enumerator representing a mensa at which a meet can happen

Value Description
GARCHING The Mensa at the TUM Garching Campus
ARCISSTR The Mensa at the TUM Innenstadt Campus (Arcisstr. 21)
object (MatchPreferences)

Object Representing a set of user preferences

Responses

Request samples

Content type
application/json
{
  • "date": "2019-08-24",
  • "timeslot": [
    ],
  • "location": "GARCHING",
  • "preferences": {
    }
}

Response samples

Content type
application/json
{
  • "requestID": "e4619679-f5d9-4eff-9f79-bbded6130bb1",
  • "userID": "2c3821b8-1cdb-4b77-bcd8-a1da701e46aa",
  • "date": "2019-08-24",
  • "timeslot": [
    ],
  • "location": "GARCHING",
  • "preferences": {
    },
  • "status": "PENDING"
}

Accept invitation to a given match

Accept invitation to a given match

Authorizations:
jwt-bearer
path Parameters
match-id
required
string <uuid>

UUID associated with a given match

Responses

Reject invitation to a given match

Reject invitation to a given match

Authorizations:
jwt-bearer
path Parameters
match-id
required
string <uuid>

UUID associated with a given match

Responses

Create demo request

Submit a match request which will be immediately matched with a group of demo users.

Authorizations:
jwt-bearer
Request Body schema: application/json
userID
required
string <uuid> (userID)

The unique ID of a single student in the Meet@Mensa system.

date
required
string <date>

The date a user would like meet@mensa to find them a match

timeslot
required
Array of integers (timeslot) [ items [ 1 .. 16 ] ]
location
required
any (location)
Enum: "GARCHING" "ARCISSTR"

Enumerator representing a mensa at which a meet can happen

Value Description
GARCHING The Mensa at the TUM Garching Campus
ARCISSTR The Mensa at the TUM Innenstadt Campus (Arcisstr. 21)
required
object (MatchPreferences)

Object Representing a set of user preferences

Responses

Request samples

Content type
application/json
{
  • "userID": "2c3821b8-1cdb-4b77-bcd8-a1da701e46aa",
  • "date": "2019-08-24",
  • "timeslot": [
    ],
  • "location": "GARCHING",
  • "preferences": {
    }
}

Response samples

Content type
application/json
{
  • "groupID": "ec414289-a6cd-4a76-a6d7-c7f42c7f1517",
  • "date": "2019-08-24",
  • "time": 1,
  • "location": "GARCHING",
  • "userStatus": [
    ],
  • "conversationStarters": {
    }
}

User

Paths belonging to the User microservice

Retrieve User with {user-id}

Fetch all information about user with ID {user-id} from user-service

Authorizations:
jwt-bearer
path Parameters
user-id
required
string <uuid>

UUID associated with a given user

Responses

Response samples

Content type
application/json
{
  • "userID": "2c3821b8-1cdb-4b77-bcd8-a1da701e46aa",
  • "email": "user@example.com",
  • "firstname": "Max",
  • "lastname": "Mustermann",
  • "birthday": "2019-08-24",
  • "gender": "other",
  • "degree": "msc_informatics",
  • "degreeStart": 2024,
  • "interests": [
    ],
  • "bio": "string"
}

Update User with {user-id}

Update all information about user with ID {user-id} from user-service

Authorizations:
jwt-bearer
path Parameters
user-id
required
string <uuid>

UUID associated with a given user

Request Body schema: application/json
email
string <email>

Users's e-mail

firstname
string

User's given name

lastname
string

User's surname

birthday
string <date>

User's date of birth

gender
string
Default: "other"

User's gender

degree
string

User's degree program

degreeStart
integer [ 2000 .. 2100 ]

What year User started their degree

interests
Array of strings (interest)

Array of a User's interests

bio
string

Short introduction text written by the user

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "firstname": "Max",
  • "lastname": "Mustermann",
  • "birthday": "2019-08-24",
  • "gender": "other",
  • "degree": "msc_informatics",
  • "degreeStart": 2024,
  • "interests": [
    ],
  • "bio": "string"
}

Response samples

Content type
application/json
{
  • "userID": "2c3821b8-1cdb-4b77-bcd8-a1da701e46aa",
  • "email": "user@example.com",
  • "firstname": "Max",
  • "lastname": "Mustermann",
  • "birthday": "2019-08-24",
  • "gender": "other",
  • "degree": "msc_informatics",
  • "degreeStart": 2024,
  • "interests": [
    ],
  • "bio": "string"
}

Delete User with {user-id}

Remove all information about user with ID {user-id} from user-service

Authorizations:
jwt-bearer
path Parameters
user-id
required
string <uuid>

UUID associated with a given user

Responses

Register new User

Register a new user and respond with it's {user-id}

Authorizations:
jwt-bearer
Request Body schema: application/json
authID
required
string

Auth0 user.sub, used as a unique key

email
required
string <email>

Users's e-mail

firstname
required
string

User's given name

lastname
required
string

User's surname

birthday
required
string <date>

User's date of birth

gender
required
string
Default: "other"

User's gender

degree
required
string

User's degree program

degreeStart
required
integer [ 2000 .. 2100 ]

What year User started their degree

interests
required
Array of strings (interest)

Array of a User's interests

bio
required
string

Short introduction text written by the user

Responses

Request samples

Content type
application/json
{
  • "authID": "string",
  • "email": "user@example.com",
  • "firstname": "Max",
  • "lastname": "Mustermann",
  • "birthday": "2019-08-24",
  • "gender": "other",
  • "degree": "msc_informatics",
  • "degreeStart": 2024,
  • "interests": [
    ],
  • "bio": "string"
}

Response samples

Content type
application/json
{
  • "userID": "2c3821b8-1cdb-4b77-bcd8-a1da701e46aa",
  • "email": "user@example.com",
  • "firstname": "Max",
  • "lastname": "Mustermann",
  • "birthday": "2019-08-24",
  • "gender": "other",
  • "degree": "msc_informatics",
  • "degreeStart": 2024,
  • "interests": [
    ],
  • "bio": "string"
}

Retrieve User based on AuthID

Retrieve a user object based on an Auth0 sub ID

Authorizations:
jwt-bearer
path Parameters
auth-id
required
string

User's Auth0 sub ID

Responses

Response samples

Content type
application/json
{
  • "userID": "2c3821b8-1cdb-4b77-bcd8-a1da701e46aa",
  • "email": "user@example.com",
  • "firstname": "Max",
  • "lastname": "Mustermann",
  • "birthday": "2019-08-24",
  • "gender": "other",
  • "degree": "msc_informatics",
  • "degreeStart": 2024,
  • "interests": [
    ],
  • "bio": "string"
}

Get demo users

Return 3 demo-users in a UserCollection

Authorizations:
jwt-bearer

Responses

Response samples

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