-
-
Notifications
You must be signed in to change notification settings - Fork 0
API Reference
-
oAuth2 authentication.
-
Flow: password
-
Token URL =
auth/jwt/login
-
- API Key (APIKeyCookie)
- Parameter Name: fastapiusersauth, in: cookie.
Code samples
GET /workspaces
Get Workspaces
Returns all workspaces where the current user is a member. The request does not accept any query parameters.
Example responses
200 Response
{
"workspaces": [
{
"description": "This is an example workspace",
"name": "Workspace 01",
"owner": "true"
},
{
"description": "This is another example workspace",
"name": "Workspace 02",
"owner": "false"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of all workspaces | WorkspaceList |
Code samples
POST /workspaces
Create Workspace
Creates a new workspace for the current user. Body parameters:
- name (str): name of the workspace, must be unique
- description (str): description of the workspace
Returns the created workspace information.
Body parameter
{
"description": "This is an example workspace",
"name": "Workspace 01"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | WorkspaceCreateInput | true | none |
Example responses
201 Response
{
"description": "This is an example workspace",
"name": "Workspace 01"
}
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created workspaces | WorkspaceCreateOutput |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /workspaces/permissions
Get Workspace Permissions
Example responses
200 Response
{
"permissions": [
"get_workspaces",
"create_workspace",
"get_workspace",
"update_workspace",
"delete_workspace",
"get_workspace_members",
"add_workspace_members",
"remove_workspace_member",
"get_groups",
"create_group",
"get_workspace_policies",
"get_workspace_policy",
"set_workspace_policy",
"get_workspace_permissions"
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of all workspace permissions | PermissionList |
Code samples
GET /workspaces/{workspace_id}
Get Workspace
Endpoint to get a workspace with the given id. By default, it returns the basic information of the workspace such as id, name, and description. The user can specify other resources to include in the response using the query parameters.
For example, to include groups and members in the response, the user can send the following GET request:
/workspaces/6497fdbafe12e8ff9017f253?include=groups&include=members
To include all resources, the user can send the following GET request:
/workspaces/6497fdbafe12e8ff9017f253?include=all
To get basic information of the workspace, the user can send the following GET request:
/workspaces/6497fdbafe12e8ff9017f253
- workspace_id (str): id of the workspace
-
include (str): resources to include in the response
- groups: include groups in the response
- members: include members in the response
- policies: include policies in the response
- all: include all resources in the response
Returns a workspace with the given id.
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
include | query | any | false | none |
Example responses
200 Response
{
"description": "This is an example workspace",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Workspace 01"
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Workspace data | Workspace |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
PATCH /workspaces/{workspace_id}
Update Workspace
Updates the workspace with the given id. Query parameters: @param workspace_id: id of the workspace to update Body parameters:
- name (str): name of the workspace, must be unique
- description (str): description of the workspace
Returns the updated workspace.
Body parameter
{
"description": "This is an example workspace",
"name": "Workspace 01"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
body | body | WorkspaceUpdateRequest | true | none |
Example responses
200 Response
{
"description": "This is an example workspace",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Workspace 01"
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Updated workspace | Workspace |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
DELETE /workspaces/{workspace_id}
Delete Workspace
Deletes the workspace with the given id. Query parameters: @param workspace_id: id of the workspace to delete
Returns status code 204 if the workspace is deleted successfully. Response has no detail.
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
Example responses
422 Response
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Deleted workspace | None |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /workspaces/{workspace_id}/groups
Get Groups
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
Example responses
200 Response
{
"groups": [
{
"id": "5eb7cf5a86d9755df3a6c593",
"name": "string",
"description": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of all groups | GroupList |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /workspaces/{workspace_id}/groups
Create Group
Body parameter
{
"description": "My first Group",
"name": "Group 01"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
body | body | GroupCreateInput | true | none |
Example responses
201 Response
{
"id": "5eb7cf5a86d9755df3a6c593",
"name": "string",
"description": "string"
}
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created Group | GroupCreateOutput |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /workspaces/{workspace_id}/members
Get Workspace Members
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
Example responses
200 Response
{
"members": [
{
"email": "jdoe@example.com",
"first_name": "John",
"last_name": "Doe",
"role": "admin"
},
{
"email": "jsmith@example.com",
"first_name": "Jack",
"last_name": "Smith",
"role": "user"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of all groups | MemberList |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /workspaces/{workspace_id}/members
Add Workspace Members
Body parameter
{
"accounts": [
"1a2b3c4d5e6f7g8h9i0j",
"2a3b4c5d6e7f8g9h0i1j",
"3a4b5c6d7e8f9g0h1i2j"
]
}
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
body | body | AddMembers | true | none |
Example responses
200 Response
{
"members": [
{
"email": "jdoe@example.com",
"first_name": "John",
"last_name": "Doe",
"role": "admin"
},
{
"email": "jsmith@example.com",
"first_name": "Jack",
"last_name": "Smith",
"role": "user"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List added members | MemberList |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
DELETE /workspaces/{workspace_id}/members/{account_id}
Remove Workspace Member
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
account_id | path | string | true | none |
Example responses
200 Response
null
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Updated list removed members | Inline |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /workspaces/{workspace_id}/policies
Get Workspace Policies
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
account_id | query | string | false | none |
Example responses
200 Response
{
"policies": [
{
"permissions": [
"get_workspace",
"get_groups"
],
"policy_holder": {
"email": "email@example.com",
"first_name": "Name",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Surname"
}
},
{
"permissions": [
"get_workspace",
"get_groups"
],
"policy_holder": {
"email": "email@example.com",
"first_name": "Name",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Surname"
}
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of all policies | PolicyList |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
PUT /workspaces/{workspace_id}/policies/{policy_id}
Set Workspace Policy
Sets the permissions for a user in a workspace. Query parameters: @param workspace_id: id of the workspace to update Body parameters:
- user_id (str): id of the user to update
- permissions (int): new permissions for the user
Returns the updated workspace.
Body parameter
{
"permissions": [
"get_workspace_info",
"list_members"
]
}
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
policy_id | path | string | true | none |
body | body | PolicyInput | true | none |
Example responses
200 Response
{
"permissions": [
"get_workspaces",
"create_workspace",
"get_workspace",
"update_workspace",
"delete_workspace",
"get_workspace_members",
"add_workspace_members",
"remove_workspace_member",
"get_groups",
"create_group",
"get_all_workspace_policies",
"get_workspace_policy",
"set_workspace_policy"
],
"policy_holder": {
"email": "email@example.com",
"first_name": "Name",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Surname"
}
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Updated permissions | PolicyOutput |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /workspaces/{workspace_id}/polls
Get Polls
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
Example responses
200 Response
{
"polls": [
{
"description": "This is an example poll",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Poll 01",
"published": true
},
{
"description": "This is an example poll",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Poll 02",
"published": true
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of all polls in the workspace | PollList |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /workspaces/{workspace_id}/polls
Create Poll
Body parameter
{
"name": "string",
"description": "string",
"public": true,
"published": true,
"questions": [
{
"id": 0,
"question": "string",
"question_type": "string",
"options": [
"string"
],
"correct_answer": [
0
]
}
]
}
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace_id | path | string | true | none |
body | body | CreatePollRequest | true | none |
Example responses
201 Response
{
"description": "This is an example poll",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Poll 01",
"published": true
}
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created poll | PollResponse |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /groups/
Get All Groups
Name | In | Type | Required | Description |
---|---|---|---|---|
workspace | query | any | false | none |
account | query | any | false | none |
name | query | any | false | none |
Example responses
200 Response
{
"groups": [
{
"id": "5eb7cf5a86d9755df3a6c593",
"name": "string",
"description": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of groups | GroupList |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /groups/
Create Group
Body parameter
{
"description": "My first Group",
"name": "Group 01",
"workspace": "60b9d1c8e1f1d5f5f5b4f8e1"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | GroupCreateRequest | true | none |
Example responses
201 Response
{
"id": "5eb7cf5a86d9755df3a6c593",
"name": "string",
"description": "string"
}
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created Group | GroupCreateOutput |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /groups/permissions
Get Group Permissions
Example responses
200 Response
{
"permissions": [
"get_workspaces",
"create_workspace",
"get_workspace",
"update_workspace",
"delete_workspace",
"get_workspace_members",
"add_workspace_members",
"remove_workspace_member",
"get_groups",
"create_group",
"get_workspace_policies",
"get_workspace_policy",
"set_workspace_policy",
"get_workspace_permissions"
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of all Group permissions | PermissionList |
Code samples
GET /groups/{group_id}
Get Group
Name | In | Type | Required | Description |
---|---|---|---|---|
group_id | path | string | true | none |
include | query | any | false | none |
Example responses
200 Response
{
"id": "5eb7cf5a86d9755df3a6c593",
"name": "string",
"description": "string",
"workspace": {},
"members": [
null
],
"policies": [
null
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Get a group | Group |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
PATCH /groups/{group_id}
Update Group
Body parameter
{
"Description": "Updated description"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
group_id | path | string | true | none |
body | body | GroupUpdateRequest | true | none |
Example responses
200 Response
{
"id": "5eb7cf5a86d9755df3a6c593",
"name": "string",
"description": "string"
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Update a group | GroupShort |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
DELETE /groups/{group_id}
Delete Group
Name | In | Type | Required | Description |
---|---|---|---|---|
group_id | path | string | true | none |
Example responses
422 Response
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Delete a group | None |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /groups/{group_id}/members
Get Group Members
Name | In | Type | Required | Description |
---|---|---|---|---|
group_id | path | string | true | none |
Example responses
200 Response
{
"members": [
{
"email": "jdoe@example.com",
"first_name": "John",
"last_name": "Doe",
"role": "admin"
},
{
"email": "jsmith@example.com",
"first_name": "Jack",
"last_name": "Smith",
"role": "user"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of group members | MemberList |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /groups/{group_id}/members
Add Group Members
Body parameter
{
"accounts": [
"1a2b3c4d5e6f7g8h9i0j",
"2a3b4c5d6e7f8g9h0i1j",
"3a4b5c6d7e8f9g0h1i2j"
]
}
Name | In | Type | Required | Description |
---|---|---|---|---|
group_id | path | string | true | none |
body | body | AddMembers | true | none |
Example responses
200 Response
{
"members": [
{
"email": "jdoe@example.com",
"first_name": "John",
"last_name": "Doe",
"role": "admin"
},
{
"email": "jsmith@example.com",
"first_name": "Jack",
"last_name": "Smith",
"role": "user"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of group members | MemberList |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
DELETE /groups/{group_id}/members/{account_id}
Remove Group Member
Name | In | Type | Required | Description |
---|---|---|---|---|
group_id | path | string | true | none |
account_id | path | string | true | none |
Example responses
200 Response
null
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Updated list removed members | Inline |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /groups/{group_id}/policies
Get Group Policies
Name | In | Type | Required | Description |
---|---|---|---|---|
group_id | path | string | true | none |
account_id | query | string | false | none |
Example responses
200 Response
{
"policies": [
{
"permissions": [
"get_workspace",
"get_groups"
],
"policy_holder": {
"email": "email@example.com",
"first_name": "Name",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Surname"
}
},
{
"permissions": [
"get_workspace",
"get_groups"
],
"policy_holder": {
"email": "email@example.com",
"first_name": "Name",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Surname"
}
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of all policies | PolicyList |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
PUT /groups/{group_id}/policies/{policy_id}
Set Group Policy
Sets the permissions for a user in a workspace. Query parameters: @param workspace_id: id of the workspace to update Body parameters:
- user_id (str): id of the user to update
- permissions (int): new permissions for the user
Body parameter
{
"permissions": [
"get_workspace_info",
"list_members"
]
}
Name | In | Type | Required | Description |
---|---|---|---|---|
group_id | path | string | true | none |
policy_id | path | string | true | none |
body | body | PolicyInput | true | none |
Example responses
200 Response
{
"permissions": [
"get_workspaces",
"create_workspace",
"get_workspace",
"update_workspace",
"delete_workspace",
"get_workspace_members",
"add_workspace_members",
"remove_workspace_member",
"get_groups",
"create_group",
"get_all_workspace_policies",
"get_workspace_policy",
"set_workspace_policy"
],
"policy_holder": {
"email": "email@example.com",
"first_name": "Name",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Surname"
}
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Updated policy | PolicyOutput |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /polls/{poll_id}
Get Poll
Name | In | Type | Required | Description |
---|---|---|---|---|
poll_id | path | string | true | none |
include | query | any | false | none |
Example responses
200 Response
{
"description": "This is an example poll",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Poll 01",
"published": true
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Poll details | PollResponse |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
PATCH /polls/{poll_id}
Update Poll
Body parameter
{
"description": "This is an example poll",
"name": "Poll 01",
"published": true
}
Name | In | Type | Required | Description |
---|---|---|---|---|
poll_id | path | string | true | none |
body | body | UpdatePollRequest | true | none |
Example responses
200 Response
{
"description": "This is an example poll",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Poll 01",
"published": true
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Update Poll detail | PollResponse |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
DELETE /polls/{poll_id}
Delete Poll
Name | In | Type | Required | Description |
---|---|---|---|---|
poll_id | path | string | true | none |
Example responses
422 Response
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Result of delete operation | None |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /polls/{poll_id}/questions
Get Questions
Name | In | Type | Required | Description |
---|---|---|---|---|
poll_id | path | string | true | none |
include | query | any | false | none |
Example responses
200 Response
{
"questions": [
{
"id": 0,
"question": "string",
"question_type": "string",
"options": [
"string"
],
"correct_answer": [
0
]
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Questions in a poll | QuestionList |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /polls/{poll_id}/policies
Get Policies
Name | In | Type | Required | Description |
---|---|---|---|---|
poll_id | path | string | true | none |
include | query | any | false | none |
Example responses
200 Response
{
"policies": [
{
"permissions": [
"get_workspace",
"get_groups"
],
"policy_holder": {
"email": "email@example.com",
"first_name": "Name",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Surname"
}
},
{
"permissions": [
"get_workspace",
"get_groups"
],
"policy_holder": {
"email": "email@example.com",
"first_name": "Name",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Surname"
}
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Policy list of a poll | PolicyList |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /accounts
Get All Accounts
Example responses
200 Response
{
"accounts": [
{
"id": "5eb7cf5a86d9755df3a6c593",
"email": "user@example.com",
"first_name": "string",
"last_name": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful Response | AccountList |
Code samples
GET /accounts/me
Users:Current User
Example responses
200 Response
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful Response | Account |
401 | Unauthorized | Missing token or inactive user. | None |
Code samples
DELETE /accounts/me
Delete My Account
This route deletes the account of the currently logged in user.
- user - User object
204 - The account has been deleted
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Successful Response | None |
Code samples
PATCH /accounts/me
Users:Patch Current User
Body parameter
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | UpdateAccount | true | none |
Example responses
200 Response
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
Bad Request
{
"detail": "UPDATE_USER_EMAIL_ALREADY_EXISTS"
}
{
"detail": {
"code": "UPDATE_USER_INVALID_PASSWORD",
"reason": "Password should beat least 3 characters"
}
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful Response | Account |
400 | Bad Request | Bad Request | ErrorModel |
401 | Unauthorized | Missing token or inactive user. | None |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
DELETE /accounts/{id}
Users:Delete User
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
Example responses
422 Response
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Successful Response | None |
401 | Unauthorized | Missing token or inactive user. | None |
403 | Forbidden | Not a superuser. | None |
404 | Not Found | The user does not exist. | None |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
GET /accounts/{id}
Users:User
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
Example responses
200 Response
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful Response | Account |
401 | Unauthorized | Missing token or inactive user. | None |
403 | Forbidden | Not a superuser. | None |
404 | Not Found | The user does not exist. | None |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
PATCH /accounts/{id}
Users:Patch User
Body parameter
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
body | body | UpdateAccount | true | none |
Example responses
200 Response
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
Bad Request
{
"detail": "UPDATE_USER_EMAIL_ALREADY_EXISTS"
}
{
"detail": {
"code": "UPDATE_USER_INVALID_PASSWORD",
"reason": "Password should beat least 3 characters"
}
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful Response | Account |
400 | Bad Request | Bad Request | ErrorModel |
401 | Unauthorized | Missing token or inactive user. | None |
403 | Forbidden | Not a superuser. | None |
404 | Not Found | The user does not exist. | None |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /auth/jwt/login
Auth:Token.Login
Body parameter
grant_type: string
username: string
password: string
scope: ""
client_id: string
client_secret: string
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | Body_auth_token_login_auth_jwt_login_post | true | none |
Example responses
200 Response
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiOTIyMWZmYzktNjQwZi00MzcyLTg2ZDMtY2U2NDJjYmE1NjAzIiwiYXVkIjoiZmFzdGFwaS11c2VyczphdXRoIiwiZXhwIjoxNTcxNTA0MTkzfQ.M10bjOe45I5Ncu_uXvOmVV8QxnL-nZfcH96U90JaocI",
"refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiOTIyMWZmYzktNjQwZi00MzcyLTg2ZDMtY2U2NDJjYmE1NjAzIiwiYXVkIjoiZmFzdGFwaS11c2VyczphdXRoIiwiZXhwIjoxNTcxNTA0MTkzfQ.M10bjOe45I5Ncu_uXvOmVV8QxnL-nZfcH96U90JaocI",
"token_type": "bearer",
"expires_in": 3600
}
Bad Request
{
"detail": "LOGIN_BAD_CREDENTIALS"
}
{
"detail": "LOGIN_USER_NOT_VERIFIED"
}
422 Response
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful Response | LoginResponse |
400 | Bad Request | Bad Request | ErrorModel |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /auth/jwt/refresh
Refresh Jwt
Refresh the access token using the refresh token.
Headers:
authorization: Authorization
header with the access token
refresh_token: Refresh-Token
header with the refresh token
Name | In | Type | Required | Description |
---|---|---|---|---|
authorization | header | string | true | none |
refresh-token | header | string | true | none |
Example responses
200 Response
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiOTIyMWZmYzktNjQwZi00MzcyLTg2ZDMtY2U2NDJjYmE1NjAzIiwiYXVkIjoiZmFzdGFwaS11c2VyczphdXRoIiwiZXhwIjoxNTcxNTA0MTkzfQ.M10bjOe45I5Ncu_uXvOmVV8QxnL-nZfcH96U90JaocI",
"refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiOTIyMWZmYzktNjQwZi00MzcyLTg2ZDMtY2U2NDJjYmE1NjAzIiwiYXVkIjoiZmFzdGFwaS11c2VyczphdXRoIiwiZXhwIjoxNTcxNTA0MTkzfQ.M10bjOe45I5Ncu_uXvOmVV8QxnL-nZfcH96U90JaocI",
"token_type": "bearer",
"expires_in": 3600
}
Bad Request
{
"detail": "LOGIN_BAD_CREDENTIALS"
}
{
"detail": "LOGIN_USER_NOT_VERIFIED"
}
422 Response
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful Response | LoginResponse |
400 | Bad Request | Bad Request | ErrorModel |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /auth/jwt/postman_refresh
Refresh Jwt With Client Id
Refresh the access token using the refresh token.
Headers:
authorization: Authorization
header with the access token
Body:
refresh_token: Refresh-Token
header with the refresh token
Body parameter
"string"
Name | In | Type | Required | Description |
---|---|---|---|---|
authorization | header | string | true | none |
body | body | string | true | none |
Example responses
200 Response
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiOTIyMWZmYzktNjQwZi00MzcyLTg2ZDMtY2U2NDJjYmE1NjAzIiwiYXVkIjoiZmFzdGFwaS11c2VyczphdXRoIiwiZXhwIjoxNTcxNTA0MTkzfQ.M10bjOe45I5Ncu_uXvOmVV8QxnL-nZfcH96U90JaocI",
"refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiOTIyMWZmYzktNjQwZi00MzcyLTg2ZDMtY2U2NDJjYmE1NjAzIiwiYXVkIjoiZmFzdGFwaS11c2VyczphdXRoIiwiZXhwIjoxNTcxNTA0MTkzfQ.M10bjOe45I5Ncu_uXvOmVV8QxnL-nZfcH96U90JaocI",
"token_type": "bearer",
"expires_in": 3600
}
Bad Request
{
"detail": "LOGIN_BAD_CREDENTIALS"
}
{
"detail": "LOGIN_USER_NOT_VERIFIED"
}
422 Response
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful Response | LoginResponse |
400 | Bad Request | Bad Request | ErrorModel |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /auth/register
Register:Register
Body parameter
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | CreateAccount | true | none |
Example responses
201 Response
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
Bad Request
{
"detail": "REGISTER_USER_ALREADY_EXISTS"
}
{
"detail": {
"code": "REGISTER_INVALID_PASSWORD",
"reason": "Password should beat least 3 characters"
}
}
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Successful Response | Account |
400 | Bad Request | Bad Request | ErrorModel |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /auth/forgot-password
Reset:Forgot Password
Body parameter
{
"email": "user@example.com"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | Body_reset_forgot_password_auth_forgot_password_post | true | none |
Example responses
202 Response
null
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | Successful Response | Inline |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /auth/reset-password
Reset:Reset Password
Body parameter
{
"token": "string",
"password": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | Body_reset_reset_password_auth_reset_password_post | true | none |
Example responses
200 Response
null
Bad Request
{
"detail": "RESET_PASSWORD_BAD_TOKEN"
}
{
"detail": {
"code": "RESET_PASSWORD_INVALID_PASSWORD",
"reason": "Password should be at least 3 characters"
}
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful Response | Inline |
400 | Bad Request | Bad Request | ErrorModel |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /auth/request-verify-token
Verify:Request-Token
Body parameter
{
"email": "user@example.com"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | Body_verify_request_token_auth_request_verify_token_post | true | none |
Example responses
202 Response
null
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | Successful Response | Inline |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Code samples
POST /auth/verify
Verify:Verify
Body parameter
{
"token": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | Body_verify_verify_auth_verify_post | true | none |
Example responses
200 Response
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
Bad Request
{
"detail": "VERIFY_USER_BAD_TOKEN"
}
{
"detail": "VERIFY_USER_ALREADY_VERIFIED"
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful Response | Account |
400 | Bad Request | Bad Request | ErrorModel |
422 | Unprocessable Entity | Validation Error | HTTPValidationError |
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
Account
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
string(email) | true | none | none | |
is_active | boolean | false | none | none |
is_superuser | boolean | false | none | none |
is_verified | boolean | false | none | none |
first_name | string | false | none | none |
last_name | string | false | none | none |
{
"accounts": [
{
"id": "5eb7cf5a86d9755df3a6c593",
"email": "user@example.com",
"first_name": "string",
"last_name": "string"
}
]
}
AccountList
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accounts | [AccountShort] | true | none | none |
{
"id": "5eb7cf5a86d9755df3a6c593",
"email": "user@example.com",
"first_name": "string",
"last_name": "string"
}
AccountShort
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
string(email) | true | none | none | |
first_name | string | true | none | none |
last_name | string | true | none | none |
{
"accounts": [
"1a2b3c4d5e6f7g8h9i0j",
"2a3b4c5d6e7f8g9h0i1j",
"3a4b5c6d7e8f9g0h1i2j"
]
}
AddMembers
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accounts | [string] | true | none | none |
{
"grant_type": "string",
"username": "string",
"password": "string",
"scope": "",
"client_id": "string",
"client_secret": "string"
}
Body_auth_token_login_auth_jwt_login_post
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
grant_type | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
username | string | true | none | none |
password | string | true | none | none |
scope | string | false | none | none |
client_id | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
client_secret | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
{
"email": "user@example.com"
}
Body_reset_forgot_password_auth_forgot_password_post
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string(email) | true | none | none |
{
"token": "string",
"password": "string"
}
Body_reset_reset_password_auth_reset_password_post
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
token | string | true | none | none |
password | string | true | none | none |
{
"email": "user@example.com"
}
Body_verify_request_token_auth_request_verify_token_post
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string(email) | true | none | none |
{
"token": "string"
}
Body_verify_verify_auth_verify_post
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
token | string | true | none | none |
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
CreateAccount
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string(email) | true | none | none | |
password | string | true | none | none |
is_active | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | boolean | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
is_superuser | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | boolean | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
is_verified | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | boolean | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
first_name | string | false | none | none |
last_name | string | false | none | none |
{
"name": "string",
"description": "string",
"public": true,
"published": true,
"questions": [
{
"id": 0,
"question": "string",
"question_type": "string",
"options": [
"string"
],
"correct_answer": [
0
]
}
]
}
CreatePollRequest
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | true | none | none |
description | string | true | none | none |
public | boolean | true | none | none |
published | boolean | true | none | none |
questions | [Question] | true | none | none |
{
"detail": "string"
}
ErrorModel
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | any | true | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | object | false | none | none |
»» additionalProperties | string | false | none | none |
{
"id": "5eb7cf5a86d9755df3a6c593",
"name": "string",
"description": "string",
"workspace": {},
"members": [
null
],
"policies": [
null
]
}
Group
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
workspace | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | any | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
members | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [any] | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
policies | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [any] | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
{
"description": "My first Group",
"name": "Group 01"
}
GroupCreateInput
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | none |
description | string | false | none | none |
{
"id": "5eb7cf5a86d9755df3a6c593",
"name": "string",
"description": "string"
}
GroupCreateOutput
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
name | string | true | none | none |
description | string | true | none | none |
{
"description": "My first Group",
"name": "Group 01",
"workspace": "60b9d1c8e1f1d5f5f5b4f8e1"
}
GroupCreateRequest
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | none |
workspace | string | true | none | none |
description | string | false | none | none |
{
"groups": [
{
"id": "5eb7cf5a86d9755df3a6c593",
"name": "string",
"description": "string"
}
]
}
GroupList
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
groups | any | true | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [GroupShort] | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [Group] | false | none | none |
{
"id": "5eb7cf5a86d9755df3a6c593",
"name": "string",
"description": "string"
}
GroupShort
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
name | string | true | none | none |
description | string | true | none | none |
{
"Description": "Updated description"
}
GroupUpdateRequest
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
HTTPValidationError
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
detail | [ValidationError] | false | none | none |
{
"access_token": "string",
"token_type": "Bearer",
"scope": "string",
"client_id": "string",
"expires_in": 3600,
"refresh_token": "string"
}
LoginResponse
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
access_token | string | true | none | none |
token_type | string | false | none | none |
scope | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
client_id | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
expires_in | integer | false | none | none |
refresh_token | string | true | none | none |
{
"email": "user@example.com",
"first_name": "John",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Doe"
}
Member
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string(email) | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
first_name | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
last_name | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
{
"members": [
{
"email": "jdoe@example.com",
"first_name": "John",
"last_name": "Doe",
"role": "admin"
},
{
"email": "jsmith@example.com",
"first_name": "Jack",
"last_name": "Smith",
"role": "user"
}
]
}
MemberList
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
members | [Member] | true | none | none |
{
"permissions": [
"get_workspaces",
"create_workspace",
"get_workspace",
"update_workspace",
"delete_workspace",
"get_workspace_members",
"add_workspace_members",
"remove_workspace_member",
"get_groups",
"create_group",
"get_workspace_policies",
"get_workspace_policy",
"set_workspace_policy",
"get_workspace_permissions"
]
}
PermissionList
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
{
"permissions": [
"get_workspace_info",
"list_members"
]
}
PolicyInput
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
policy_id | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
account_id | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
group_id | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
{
"policies": [
{
"permissions": [
"get_workspace",
"get_groups"
],
"policy_holder": {
"email": "email@example.com",
"first_name": "Name",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Surname"
}
},
{
"permissions": [
"get_workspace",
"get_groups"
],
"policy_holder": {
"email": "email@example.com",
"first_name": "Name",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Surname"
}
}
]
}
PolicyList
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
policies | [PolicyShort] | true | none | none |
{
"permissions": [
"get_workspaces",
"create_workspace",
"get_workspace",
"update_workspace",
"delete_workspace",
"get_workspace_members",
"add_workspace_members",
"remove_workspace_member",
"get_groups",
"create_group",
"get_all_workspace_policies",
"get_workspace_policy",
"set_workspace_policy"
],
"policy_holder": {
"email": "email@example.com",
"first_name": "Name",
"id": "1a2b3c4d5e6f7g8h9i0j",
"last_name": "Surname"
}
}
PolicyOutput
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
permissions | [string] | true | none | none |
policy_holder | any | false | none | none |
{
"id": "5eb7cf5a86d9755df3a6c593",
"policy_holder_type": "account",
"policy_holder": null,
"permissions": {}
}
PolicyShort
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
policy_holder_type | string | true | none | none |
policy_holder | any | false | none | none |
permissions | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | any | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
Property | Value |
---|---|
policy_holder_type | account |
policy_holder_type | group |
{
"polls": [
{
"description": "This is an example poll",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Poll 01",
"published": true
},
{
"description": "This is an example poll",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Poll 02",
"published": true
}
]
}
PollList
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
polls | [PollShort] | true | none | none |
{
"description": "This is an example poll",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Poll 01",
"published": true
}
PollResponse
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
workspace | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | any | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | true | none | none |
description | string | true | none | none |
public | boolean | true | none | none |
published | boolean | true | none | none |
questions | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [Question] | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
policies | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [any] | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
{
"poll": {
"description": "This is an example poll",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Poll 01",
"published": true
}
}
PollShort
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
name | string | true | none | none |
description | string | true | none | none |
public | boolean | true | none | none |
published | boolean | true | none | none |
{
"id": 0,
"question": "string",
"question_type": "string",
"options": [
"string"
],
"correct_answer": [
0
]
}
Question
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | integer | true | none | none |
question | string | true | none | none |
question_type | string | true | none | none |
options | [string] | true | none | none |
correct_answer | [integer] | true | none | none |
{
"questions": [
{
"id": 0,
"question": "string",
"question_type": "string",
"options": [
"string"
],
"correct_answer": [
0
]
}
]
}
QuestionList
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
questions | [Question] | true | none | none |
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"password": "pass1234"
}
UpdateAccount
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
password | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string(email) | true | none | none | |
is_active | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | boolean | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
is_superuser | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | boolean | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
is_verified | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | boolean | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
first_name | string | false | none | none |
last_name | string | false | none | none |
{
"description": "This is an example poll",
"name": "Poll 01",
"published": true
}
UpdatePollRequest
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
public | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | boolean | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
published | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | boolean | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
questions | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [Question] | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
ValidationError
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
loc | [anyOf] | true | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | integer | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
msg | string | true | none | none |
type | string | true | none | none |
{
"description": "This is an example workspace",
"id": "1a2b3c4d5e6f7g8h9i0j",
"name": "Workspace 01"
}
Workspace
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
members | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [any] | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
groups | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [any] | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
policies | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [any] | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
polls | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [any] | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
{
"description": "This is an example workspace",
"name": "Workspace 01"
}
WorkspaceCreateInput
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | true | none | none |
description | string | true | none | none |
{
"description": "This is an example workspace",
"name": "Workspace 01"
}
WorkspaceCreateOutput
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
name | string | true | none | none |
description | string | true | none | none |
{
"workspaces": [
{
"description": "This is an example workspace",
"name": "Workspace 01",
"owner": "true"
},
{
"description": "This is another example workspace",
"name": "Workspace 02",
"owner": "false"
}
]
}
WorkspaceList
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
workspaces | any | true | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [WorkspaceShort] | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [Workspace] | false | none | none |
{
"id": "5eb7cf5a86d9755df3a6c593",
"name": "string",
"description": "string"
}
WorkspaceShort
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
name | string | true | none | none |
description | string | true | none | none |
{
"description": "This is an example workspace",
"name": "Workspace 01"
}
WorkspaceUpdateRequest
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | any | false | none | none |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | null | false | none | none |