Skip to main content

API Documentation

Waterbus Server API - @waterbus.tech (2.0)

Download OpenAPI specification:Download

Open source video conferencing app built on latest WebRTC SDK. Android/iOS/MacOS/Web

auth

Login

Login with Social Media

Authorizations:
api_key
Request Body schema: application/json
required
fullName
required
string
googleId
string or null
githubId
string or null
appleId
string or null

Responses

Request samples

Content type
application/json
{
  • "fullName": "Kai Dao",
  • "googleId": "lambiengcode",
  • "githubId": "string",
  • "appleId": "string"
}

Refresh Token

Refresh token when access token expired

Authorizations:
api_keybearer

Responses

Logout

Terminate your session

Authorizations:
api_keybearer

Responses

Get AWS-S3 presigned url

Presigned url to upload avatar

Authorizations:
api_keybearer

Responses

user

Search user

Search user by username or fullname

Authorizations:
api_keybearer
query Parameters
q
required
string
skip
number
limit
number
page
number
perPage
number

Responses

Fetch user info

Retrieve your info by access token

Authorizations:
api_keybearer

Responses

Update user info

Update your info

Authorizations:
api_keybearer
Request Body schema: application/json
required
object (UpdateUserInfoDto)

Responses

Request samples

Content type
application/json
{ }

Check username

Check username is available for change

Authorizations:
api_keybearer
path Parameters
userName
required
string

Responses

Update username

Update your username

Authorizations:
api_keybearer
path Parameters
userName
required
string

Responses

meeting

Get room

Get room by id

Authorizations:
api_keybearer
path Parameters
code
required
number

Responses

Leave room

Leave out the room

Authorizations:
api_keybearer
path Parameters
code
required
number

Responses

Get rooms by status

Get room (also known as a conversation) by status

Authorizations:
api_keybearer
path Parameters
status
required
any
query Parameters
skip
number
limit
number
page
number
perPage
number

Responses

Create meeting room

Create a room with room name and password

Authorizations:
api_keybearer
Request Body schema: application/json
required
title
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "password": "string"
}

Update meeting room

Update room with new info or password

Authorizations:
api_keybearer
Request Body schema: application/json
required
code
required
number
title
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "code": 0,
  • "title": "string",
  • "password": "string"
}

Add member

Add member to the room

Authorizations:
api_keybearer
path Parameters
code
required
number
Request Body schema: application/json
required
userId
required
number

Responses

Request samples

Content type
application/json
{
  • "userId": 0
}

Delete member

Kick user out the room

Authorizations:
api_keybearer
path Parameters
code
required
number
Request Body schema: application/json
required
userId
required
number

Responses

Request samples

Content type
application/json
{
  • "userId": 0
}

Accept invitation

Accept invitation to access room as a member

Authorizations:
api_keybearer
path Parameters
code
required
number

Responses

Join room (guest)

If you are not a room member, password is required to join

Authorizations:
api_keybearer
path Parameters
code
required
number
Request Body schema: application/json
required
password
required
string

Responses

Request samples

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

Join room (member)

Join directly if you are a room member

Authorizations:
api_keybearer
path Parameters
code
required
number

Responses

chat

Get messages by room

Get messages by room id

Authorizations:
api_keybearer
path Parameters
meetingId
required
number
query Parameters
skip
number
limit
number
page
number
perPage
number

Responses

Send message

Send an encrypted message

Authorizations:
api_keybearer
path Parameters
meetingId
required
number
Request Body schema: application/json
required
data
required
string

Responses

Request samples

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

Update message

Update an encrypted message

Authorizations:
api_keybearer
path Parameters
messageId
required
number
Request Body schema: application/json
required
data
required
string

Responses

Request samples

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

Delete message

Delete message

Authorizations:
api_keybearer
path Parameters
messageId
required
number

Responses

Delete conversation

Delete conversation only you and no one else

Authorizations:
api_keybearer
path Parameters
meetingId
required
number

Responses