## GET /api/v1/community/{id} Returns a community with id = {id} ### Response: ```json { "id": "string", "name": "string", "description": "string", "creationDate": 0 } ``` ## UPDATE /api/v1/community/{id}/name _Requires an authentication header_ ### Request: ```json { "name": "string" } ``` Updates name for a community with id = {id} ### Response: ```json { "id": "string", "name": "string" } ``` ## PATCH /api/v1/community/{id}/description _Requires an authentication header_ ### Request: ```json { "description": "string" } ``` Updates description for a community with id = {id} ### Response: ```json { "id": "string", "description": "string" } ``` ## GET /api/v1/community/{id}/members _Requires an authentication header_ Returns users for a community with id = {id} ### Response: ```json { "id": "string", "name": "string", "members": [ { "id": "string", "username": "string" } ] } ``` ## GET /api/v1/community/{id}/channels _Requires an authentication header_ Returns channels for a community with id = {id} ### Response: ```json { "id": "string", "name": "string", "channels": [ { "id": "string", "name": "string" } ] } ``` ## GET /api/v1/community/{id}/roles _Requires an authentication header_ Returns roles for a community with id = {id} ### Response: ```json { "id": "string", "name": "string", "roles": [ { "id": "string", "name": "string" } ] } ``` ## POST /api/v1/community/{id}/invite _Requires an authentication header_ ### Request: ```json { "userId": "string" } ``` Creates an invite to a community with id = {id} ### Response: ```json { "userId": "string", "userName": "string", "communityId": "string", "communityName": "string" } ``` ## POST /api/v1/community/{id}/join _Requires an authentication header_ ### Request: ```json { "userId": "string" } ``` Joins a user to a community with id = {id} ### Response: ```json { "userId": "string", "userName": "string", "communityId": "string", "communityName": "string" } ```