# Peer Boost API
- The schemes only define the minimum data required from each endpoint for FE, BE might be sending more data over.
- The `_sendbird` key is an unsafe parameter to use and FE should avoid using it, But considering our current infrastructure we will keep it for now for possible needs.
## PeerBoost
### [GET] `/peer_boost/communities`
Returns a list of peer boost communities for the current user if any.
#### Response
```json
{
"meta": {},
"data": [
{
"id": string,
"title": string,
"icon": string,
"isVerified": boolean,
"isMuted": boolean,
"createdAt": number,
"updatedAt": number,
"_sendbird": {
"id": string,
}
},
{
"id": string,
"title": string,
"icon": string,
"isVerified": boolean,
"isMuted": boolean,
"createdAt": number,
"updatedAt": number,
"_sendbird": {
"id": string,
}
},
]
}
```
---
### [POST] `peer_boost/communities/join`
Joins the user in a random peer boost community and returns it.
#### Response
```json
{
"meta": {},
"data": {
"id": string,
"title": string,
"icon": string,
"isVerified": boolean,
"isMuted": boolean,
"createdAt": number,
"updatedAt": number,
"_sendbird": {
"id": string,
}
}
}
```
---
### [POST] `peer_boost/${id}/leave`
Removes the user from the community for the given ID.
#### Response
```json
// generic success response
```
---
### [PUT] `peer_boost/${id}`
Updates the users setting for the given community ID.
#### Request
```json
{
"isMuted": boolean,
}
```
#### Response
```json
{
"meta": {},
"data": {
"id": string,
"title": string,
"icon": string,
"isVerified": boolean,
"isMuted": boolean,
"createdAt": number,
"updatedAt": number,
"_sendbird": {
"id": string,
}
}
}
```
---
### [GET] `/peer_boost/${id}/boosts`
Returns a list of boost requests for the given community ID.
#### Request
```json
// to be determined
```
#### Response
```json
// to be determined
```