Teams
Operations around Team management.
Endpoints
POST /api/teams
POST /api/teams/join
POST /api/teams/:teamId
GET /api/teams/:teamId
DELETE /api/teams/:teamId
POST /api/teams/:teamId/users
GET /api/teams/:teamId/users
GET /api/teams/:teamId/users/:userId
POST /api/teams/:teamId/users/:userId
DELETE /api/teams/:teamId/users/:userId
GET /api/teams/:teamId/websitesPOST /api/teams
Creates a team.
Parameters
name: (string) The team's name.
Request body
{
"name": "marketing"
}Sample response
[
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "marketing",
"accessCode": "team_KBmjrm5KcDZSArah",
"logoUrl": null,
"createdAt": "0000-00-00T00:00:00.000Z",
"updatedAt": "0000-00-00T00:00:00.000Z",
"deletedAt": null
},
{
"id": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"teamId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz",
"role": "team-owner",
"createdAt": "0000-00-00T00:00:00.000Z",
"updatedAt": "0000-00-00T00:00:00.000Z",
}
]POST /api/teams/join
Join a team.
Parameters
accessCode: (string) The team's access code.
Request body
{
"accessCode": "xxwtoY8pzKjDIUQi"
}Sample response
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"teamId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"role": "team-member",
"createdAt": "0000-00-00T00:00:00.000Z",
"updatedAt": "0000-00-00T00:00:00.000Z"
}GET /api/teams/:teamId
Get a team.
Sample response
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "marketing",
"accessCode": "team_cVQf0mYPriZlPAgK",
"logoUrl": null,
"createdAt": "0000-00-00T00:00:00.000Z",
"updatedAt": "0000-00-00T00:00:00.000Z",
"deletedAt": null,
"teamUser": [
{
"id": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"teamId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz",
"role": "team-owner",
"createdAt": "0000-00-00T00:00:00.000Z",
"updatedAt": "0000-00-00T00:00:00.000Z"
}
]
}POST /api/teams/:teamId
Update a team.
Parameters
name: (string | optional) The team's name.accessCode: (string | optional) The team's access code.
Request body
{
"accessCode": "marketing"
}Sample response
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "marketing",
"accessCode": "marketing",
"logoUrl": null,
"createdAt": "0000-00-00T00:00:00.000Z",
"updatedAt": "0000-00-00T00:00:00.000Z",
"deletedAt": null
}DELETE /api/teams/:teamId
Delete a team.
Sample response
okGET /api/teams/:teamId/users
Get all users that belong to a team.
Parameters
query: (string | optional) Search text.page: (number | optional, default 1) Determines page.pageSize: (string | optional) Determines how many results to return.orderBy: (string | optional, defaultname) Order by column name.
Sample response
{
"data": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"teamId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"role": "team-owner",
"createdAt": "0000-00-00T00:00:00.000Z",
"updatedAt": "0000-00-00T00:00:00.000Z",
"user": {
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"username": "admin"
}
}
],
"count": 1,
"page": 1,
"pageSize": 10
}POST /api/teams/:teamId/users
Add a user to a team.
Parameters
userId: ID of user to be added.role: Role for user permissionteam-member|team-view-only|team-manager.
Request body
{
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"role": "team-member"
}Sample response
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"teamId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"role": "team-member",
"createdAt": "0000-00-00T00:00:00.000Z",
"updatedAt": "0000-00-00T00:00:00.000Z",
}GET /api/teams/:teamId/users/:userId
Get a user belonging to a team.
Sample response
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"teamId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"role": "team-owner",
"createdAt": "0000-00-00T00:00:00.000Z",
"updatedAt": "0000-00-00T00:00:00.000Z"
}POST /api/teams/:teamId/users/:userId
Update a user's role on a team.
Parameters
role: Role for user accessmember|view-only|team-manager.
Request body
{
"role":"team-member"
}Sample response
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"teamId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"role": "team-member",
"createdAt": "0000-00-00T00:00:00.000Z",
"updatedAt": "0000-00-00T00:00:00.000Z"
}DELETE /api/teams/:teamId/users/:userId
Remove a user from a team.
Sample response
okGET /api/teams/:teamId/websites
Get all websites that belong to a team.
Parameters
query: (optional string) Search text.page: (optional number, default 1) Determines page.pageSize: (optional string) Determines how many results to return.orderBy: (optional string, defaultname) Order by column name.
Sample response
{
"data": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Example",
"domain": "example.com",
"shareId": null,
"resetAt": null,
"userId": null,
"teamId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"createdBy": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"createdAt": "0000-00-00T00:00:00.000Z",
"updatedAt": "0000-00-00T00:00:00.000Z",
"deletedAt": null,
"createUser": {
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"username": "user"
}
}
],
"count": 1,
"page": 1,
"pageSize": 10
}