/users/loginSummary: Initiate OIDC Login Flow
Description: Initiates the OIDC authentication flow.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
frontend_callback_uri |
query | No | anyOf | The frontend URI to redirect back to after OIDC provider. |
| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'GET' \ 'http://localhost:8000/api/v1/users/login?frontend_callback_uri=<frontend_callback_uri>' \ -H 'accept: application/json'
/users/login/callbackSummary: Handle OIDC Login Callback
Description: Handles the callback from the OIDC provider.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
code |
query | Yes | string | Authorization code from OIDC provider |
state |
query | Yes | string | The original frontend redirect URI |
| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'GET' \ 'http://localhost:8000/api/v1/users/login/callback?code=<code>&state=<state>' \ -H 'accept: application/json'
/users/meSummary: Get Current User Status
Description: Checks the login status of the current user. Requires a valid user_id to be present in the request header.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'GET' \ 'http://localhost:8000/api/v1/users/me' \ -H 'accept: application/json' \ -H 'X-User-ID: <your_user_id>'
/users/login/localSummary: Local Authentication Fallback
Description: Day 1: Local Username/Password Login.
Required: Yes
application/jsonLocalLoginRequest (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'POST' \
'http://localhost:8000/api/v1/users/login/local' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{}'
/users/passwordSummary: Update User Password
Description: Update User Password
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
Required: Yes
application/jsonPasswordUpdateRequest (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'PUT' \
'http://localhost:8000/api/v1/users/password' \
-H 'accept: application/json' \
-H 'X-User-ID: <your_user_id>' \
-H 'Content-Type: application/json' \
-d '{}'
/users/me/profileSummary: Get Current User Profile
Description: Retrieves profile information for the current user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'GET' \ 'http://localhost:8000/api/v1/users/me/profile' \ -H 'accept: application/json' \ -H 'X-User-ID: <your_user_id>'
/users/me/profileSummary: Update User Profile
Description: Updates profile details for the current user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
Required: Yes
application/jsonUserProfileUpdate (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'PUT' \
'http://localhost:8000/api/v1/users/me/profile' \
-H 'accept: application/json' \
-H 'X-User-ID: <your_user_id>' \
-H 'Content-Type: application/json' \
-d '{}'
/users/me/configSummary: Get Current User Preferences
Description: Gets user specific preferences (LLM, TTS, STT config overrides).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'GET' \ 'http://localhost:8000/api/v1/users/me/config' \ -H 'accept: application/json' \ -H 'X-User-ID: <your_user_id>'
/users/me/configSummary: Update Current User Preferences
Description: Updates user specific preferences.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
Required: Yes
application/jsonUserPreferences (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'PUT' \
'http://localhost:8000/api/v1/users/me/config' \
-H 'accept: application/json' \
-H 'X-User-ID: <your_user_id>' \
-H 'Content-Type: application/json' \
-d '{}'
/users/me/config/modelsSummary: Get Models for Provider
Description: Get Models for Provider
| Name | In | Required | Type | Description |
|---|---|---|---|---|
provider_name |
query | Yes | string | |
section |
query | No | string |
| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'GET' \ 'http://localhost:8000/api/v1/users/me/config/models?provider_name=<provider_name>§ion=<section>' \ -H 'accept: application/json'
/users/me/config/providersSummary: Get All Valid Providers per Section
Description: Get All Valid Providers per Section
| Name | In | Required | Type | Description |
|---|---|---|---|---|
section |
query | No | string | |
configured_only |
query | No | boolean | If true, only returns providers currently configured in preferences or system defaults |
x-user-id |
header | No | anyOf |
| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'GET' \ 'http://localhost:8000/api/v1/users/me/config/providers?section=<section>&configured_only=<configured_only>' \ -H 'accept: application/json' \ -H 'X-User-ID: <your_user_id>'
/users/me/config/verify_llmSummary: Verify Llm
Description: Verify Llm
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
Required: Yes
application/jsonVerifyProviderRequest (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'POST' \
'http://localhost:8000/api/v1/users/me/config/verify_llm' \
-H 'accept: application/json' \
-H 'X-User-ID: <your_user_id>' \
-H 'Content-Type: application/json' \
-d '{}'
/users/me/config/verify_ttsSummary: Verify Tts
Description: Verify Tts
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
Required: Yes
application/jsonVerifyProviderRequest (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'POST' \
'http://localhost:8000/api/v1/users/me/config/verify_tts' \
-H 'accept: application/json' \
-H 'X-User-ID: <your_user_id>' \
-H 'Content-Type: application/json' \
-d '{}'
/users/me/config/verify_sttSummary: Verify Stt
Description: Verify Stt
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
Required: Yes
application/jsonVerifyProviderRequest (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'POST' \
'http://localhost:8000/api/v1/users/me/config/verify_stt' \
-H 'accept: application/json' \
-H 'X-User-ID: <your_user_id>' \
-H 'Content-Type: application/json' \
-d '{}'
/users/logoutSummary: Log Out the Current User
Description: Simulates a user logout. In a real application, this would clear the session token or cookie.
| Status Code | Description |
|---|---|
200 |
Successful Response |
curl -X 'POST' \ 'http://localhost:8000/api/v1/users/logout' \ -H 'accept: application/json'
/users/me/config/exportSummary: Export Configurations to YAML
Description: Exports the effective user configuration as a YAML file (Admin only).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'GET' \ 'http://localhost:8000/api/v1/users/me/config/export' \ -H 'accept: application/json' \ -H 'X-User-ID: <your_user_id>'
/users/me/config/importSummary: Import Configurations from YAML
Description: Imports user configuration from a YAML file.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
Required: Yes
multipart/form-dataBody_import_user_config_yaml_users_me_config_import_post (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'POST' \ 'http://localhost:8000/api/v1/users/me/config/import' \ -H 'accept: application/json' \ -H 'X-User-ID: <your_user_id>' \ -H 'Content-Type: multipart/form-data' \ -F 'file=@/path/to/file'
/users/admin/usersSummary: List All Users (Admin Only)
Description: Returns a list of all registered users in the system.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'GET' \ 'http://localhost:8000/api/v1/users/admin/users' \ -H 'accept: application/json' \ -H 'X-User-ID: <your_user_id>'
/users/admin/users/{uid}/roleSummary: Update User Role (Admin Only)
Description: Updates a user's role. Prevents demoting the last administrator.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
uid |
path | Yes | string | |
x-user-id |
header | No | anyOf |
Required: Yes
application/jsonUserRoleUpdate (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'PUT' \
'http://localhost:8000/api/v1/users/admin/users/{uid}/role' \
-H 'accept: application/json' \
-H 'X-User-ID: <your_user_id>' \
-H 'Content-Type: application/json' \
-d '{}'
/users/admin/users/{uid}/groupSummary: Update User Group (Admin Only)
Description: Assigns a user to a group.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
uid |
path | Yes | string | |
x-user-id |
header | No | anyOf |
Required: Yes
application/jsonUserGroupUpdate (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'PUT' \
'http://localhost:8000/api/v1/users/admin/users/{uid}/group' \
-H 'accept: application/json' \
-H 'X-User-ID: <your_user_id>' \
-H 'Content-Type: application/json' \
-d '{}'
/users/admin/groupsSummary: List All Groups (Admin Only)
Description: Returns all existing groups.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'GET' \ 'http://localhost:8000/api/v1/users/admin/groups' \ -H 'accept: application/json' \ -H 'X-User-ID: <your_user_id>'
/users/admin/groupsSummary: Create Group (Admin Only)
Description: Creates a new group.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-user-id |
header | No | anyOf |
Required: Yes
application/jsonGroupCreate (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'POST' \
'http://localhost:8000/api/v1/users/admin/groups' \
-H 'accept: application/json' \
-H 'X-User-ID: <your_user_id>' \
-H 'Content-Type: application/json' \
-d '{}'
/users/admin/groups/{gid}Summary: Update Group (Admin Only)
Description: Updates a group's metadata or policy.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
gid |
path | Yes | string | |
x-user-id |
header | No | anyOf |
Required: Yes
application/jsonGroupUpdate (Define in Models)| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'PUT' \
'http://localhost:8000/api/v1/users/admin/groups/{gid}' \
-H 'accept: application/json' \
-H 'X-User-ID: <your_user_id>' \
-H 'Content-Type: application/json' \
-d '{}'
/users/admin/groups/{gid}Summary: Delete Group (Admin Only)
Description: Deletes a group. Users are moved back to 'ungrouped'.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
gid |
path | Yes | string | |
x-user-id |
header | No | anyOf |
| Status Code | Description |
|---|---|
200 |
Successful Response |
422 |
Validation Error |
curl -X 'DELETE' \
'http://localhost:8000/api/v1/users/admin/groups/{gid}' \
-H 'accept: application/json' \
-H 'X-User-ID: <your_user_id>'