Clustron API (1.0.0)

Download OpenAPI specification:

Group

Groups_getGroups

Get all groups of the user.

query Parameters
page
integer <int32>
size
integer <int32> [ 1 .. 100 ]
sort
string
Enum: "asc" "desc"
sortBy
string

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "totalPages": 10,
  • "totalItems": 100,
  • "currentPage": 1,
  • "pageSize": 10,
  • "hasNextPage": true
}

Groups_createGroup

Create a new group. Only admin level can reach this endpoint.

Request Body schema: application/json
required
title
required
string
description
required
string
required
Array of objects (Groups.AddMemberRequest)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "members": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "title": "string",
  • "description": "string",
  • "isArchived": true,
  • "createdAt": "string",
  • "updatedAt": "string",
  • "me": {
    }
}

Groups_getGroupById

Get a group by id.

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "title": "string",
  • "description": "string",
  • "isArchived": true,
  • "createdAt": "string",
  • "updatedAt": "string",
  • "me": {
    }
}

Groups_archiveGroup

Archive a group. Will reject the request from access level 'user', 'group-admin'.

path Parameters
id
required
string

Responses

Groups_getMembers

Get all members of a group. Will reject the request from access level 'user'.

path Parameters
id
required
string
query Parameters
page
integer <int32>
size
integer <int32> [ 1 .. 100 ]
sort
string
Enum: "asc" "desc"
sortBy
string

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "totalPages": 10,
  • "totalItems": 100,
  • "currentPage": 1,
  • "pageSize": 10,
  • "hasNextPage": true
}

Groups_addMember

Add a member to a group. Will reject the request from access level 'user'.

path Parameters
id
required
string
Request Body schema: application/json
required
required
Array of objects (Groups.AddMemberRequest)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "fullName": "string",
  • "email": "user@example.com",
  • "studentId": "string",
  • "role": {
    }
}

Groups_removeMember

Remove a member from a group. Will reject the request from access level 'user'

path Parameters
id
required
string
memberId
required
string

Responses

Groups_updateMember

Update a member's access level. Will reject the request from access level 'user'

path Parameters
id
required
string
memberId
required
string
Request Body schema: application/json
required
roleId
required
string <uuid>

The role id of the member.

Responses

Request samples

Content type
application/json
{
  • "roleId": "7382d58e-652a-4905-b7c9-bcca1e0e5391"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "fullName": "string",
  • "email": "user@example.com",
  • "studentId": "string",
  • "role": {
    }
}

Groups_unarchiveGroup

Unarchive a group. Will reject the request from access level 'user', 'group-admin'.

path Parameters
id
required
string

Responses

User

User_onboardUser

Request Body schema: application/json
required
username
required
string

The real name of the user.

linuxUsername
required
string

The computer account name of the user.

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "linuxUsername": "string"
}

User_getPublicKey

query Parameters
short
boolean

Get 10 head characters of publickey as short public key in 'publickey' field.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

User_addPublicKey

Request Body schema: application/json
required
title
required
string

The public key title set by the user.

publicKey
required
string

The public key of the user.

Responses

Request samples

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

Response samples

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

User_deletePublicKey

Request Body schema: application/json
required
id
required
string

The public key id in UUID format.

Responses

Request samples

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

User_getUserSettings

Responses

Response samples

Content type
application/json
{
  • "fullName": "string",
  • "linuxUsername": "string"
}

User_updateSettings

Request Body schema: application/json
required
fullName
required
string

The real name of the user.

linuxUsername
required
string

The computer account name of the user.

Responses

Request samples

Content type
application/json
{
  • "fullName": "string",
  • "linuxUsername": "string"
}

Response samples

Content type
application/json
{
  • "fullName": "string",
  • "linuxUsername": "string"
}

Auth

Auth_loginGoogle

path Parameters
provider
required
string (Auth.OAuthProviders)
Enum: "google" "nycu"

The OAuth2 provider to use for login.

query Parameters
c
required
string

The callback URL of the OAuth2 login. See details

r
string

The redirect URL for login callback.

Responses

Auth_logout

Responses

Auth_refreshToken

path Parameters
refreshToken
required
string

The refresh token to use for refreshing the access token.

Responses

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "expirationTime": 0,
  • "refreshToken": "string"
}

Admin

Admin_getRoleAccessLevelMapping

get all mapping between group wise role and group wise access level

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Admin_postRoleAccessLevelMapping

post new mapping between group wise role and group wise access level

Request Body schema: application/json
required
role
required
string

The name of the role.

accessLevel
required
string

The access level of the role.

Responses

Request samples

Content type
application/json
{
  • "role": "string",
  • "accessLevel": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

Admin_deleteRoleAccessLevelMapping

delete mapping between group wise role and group wise access level

path Parameters
id
required
string <uuid> (uuid)

Responses

Admin_putRoleAccessLevelMapping

update mapping between group wise role and group wise access level

path Parameters
id
required
string <uuid> (uuid)
Request Body schema: application/json
required
role
required
string

The name of the role.

accessLevel
required
string

The access level of the role.

Responses

Request samples

Content type
application/json
{
  • "role": "string",
  • "accessLevel": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]