-
Notifications
You must be signed in to change notification settings - Fork 0
API Reference
Michael Pisman edited this page Aug 7, 2025
·
1 revision
This document provides a comprehensive reference for all API endpoints in the University Polling API.
All endpoints require authentication using one of the following methods:
-
OAuth2 Password Flow
- Token URL:
auth/jwt/login
- Token URL:
-
API Key (Cookie)
- Parameter Name:
fastapiusersauth, in: cookie
- Parameter Name:
All API requests should be made to your API server base URL.
-
GET /workspaces- Get all workspaces for current user -
POST /workspaces- Create a new workspace -
GET /workspaces/permissions- Get all workspace permissions -
GET /workspaces/{workspace_id}- Get workspace details -
PATCH /workspaces/{workspace_id}- Update workspace -
DELETE /workspaces/{workspace_id}- Delete workspace
-
GET /workspaces/{workspace_id}/members- Get workspace members -
POST /workspaces/{workspace_id}/members- Add members to workspace -
DELETE /workspaces/{workspace_id}/members/{account_id}- Remove member
-
GET /workspaces/{workspace_id}/groups- Get workspace groups -
POST /workspaces/{workspace_id}/groups- Create group in workspace
-
GET /workspaces/{workspace_id}/policies- Get workspace policies -
PUT /workspaces/{workspace_id}/policies/{policy_id}- Update workspace policy
-
GET /workspaces/{workspace_id}/polls- Get workspace polls -
POST /workspaces/{workspace_id}/polls- Create poll in workspace
-
GET /groups/- Get all groups (with filters) -
POST /groups/- Create a new group -
GET /groups/permissions- Get all group permissions -
GET /groups/{group_id}- Get group details -
PATCH /groups/{group_id}- Update group -
DELETE /groups/{group_id}- Delete group
-
GET /groups/{group_id}/members- Get group members -
POST /groups/{group_id}/members- Add members to group -
DELETE /groups/{group_id}/members/{account_id}- Remove member from group
-
GET /groups/{group_id}/policies- Get group policies -
PUT /groups/{group_id}/policies/{policy_id}- Update group policy
-
GET /polls/{poll_id}- Get poll details -
PATCH /polls/{poll_id}- Update poll -
DELETE /polls/{poll_id}- Delete poll -
GET /polls/{poll_id}/questions- Get poll questions -
GET /polls/{poll_id}/policies- Get poll policies
-
GET /accounts- Get all accounts -
GET /accounts/me- Get current user account -
PATCH /accounts/me- Update current user account -
DELETE /accounts/me- Delete current user account -
GET /accounts/{id}- Get user account by ID -
PATCH /accounts/{id}- Update user account by ID -
DELETE /accounts/{id}- Delete user account by ID
- 200 OK - Request successful
- 201 Created - Resource created successfully
- 204 No Content - Request successful, no content returned
- 400 Bad Request - Invalid request data
- 401 Unauthorized - Authentication required
- 403 Forbidden - Insufficient permissions
- 404 Not Found - Resource not found
- 422 Unprocessable Entity - Validation error
POST /workspaces
Content-Type: application/json
Authorization: Bearer <access_token>
{
"name": "My Workspace",
"description": "This is my workspace"
}GET /workspaces/64f7a1b8e1f1d5f5f5b4f8e1?include=groups&include=members
Authorization: Bearer <access_token>PUT /workspaces/64f7a1b8e1f1d5f5f5b4f8e1/policies/64f7a1b8e1f1d5f5f5b4f8e2
Content-Type: application/json
Authorization: Bearer <access_token>
{
"permissions": ["get_workspace", "get_members", "add_members"]
}For complete API specifications with detailed request/response schemas, refer to the interactive documentation available at /docs when your server is running.