Catálogo de la API¶
Static inventory of FastAPI route decorators and router registrations. Use the runtime OpenAPI schema for authoritative request and response bodies.
Regenera con python pipeline/skills/technical_documentation/scripts/generate.py.
Resumen¶
- Enrutadores registrados: 39
- Operaciones descubiertas: 327
- Módulos de rutas no registrados: 10
Registro de enrutadores¶
| Orden | Enrutador | Prefijo de montaje | Etiquetas | Registro |
|---|---|---|---|---|
| 1 | runs_router.router |
/ |
— | backend/app/routes.py:53 |
| 2 | workspace_routes.router |
/ |
Workspaces | backend/app/routes.py:54 |
| 3 | genograms_router.router |
/ |
— | backend/app/routes.py:55 |
| 4 | agent_router.router |
/api |
— | backend/app/routes.py:57 |
| 5 | notebook_routes.router |
/ |
— | backend/app/routes.py:62 |
| 6 | system_routes.router |
/api/system |
— | backend/app/routes.py:66 |
| 7 | social_routes.router |
/api/social |
Social | backend/app/routes.py:67 |
| 8 | vault_routes.router |
/api/vault |
Vault | backend/app/routes.py:74 |
| 9 | .router |
/api/vault |
— | backend/app/routes.py:76 |
| 10 | planning_routes.router |
/api |
Project Planning | backend/app/routes.py:77 |
| 11 | literature_routes.router |
/ |
— | backend/app/routes.py:83 |
| 12 | handwriting_routes.router |
/ |
Handwriting | backend/app/routes.py:87 |
| 13 | vault_graph_routes.router |
/api |
Vault Graph | backend/app/routes.py:88 |
| 14 | vault_views_routes.router |
/api |
Vault Views | backend/app/routes.py:89 |
| 15 | collab_routes.router |
/api/vault |
Collaboration | backend/app/routes.py:90 |
| 16 | share_routes.router |
/api |
Share | backend/app/routes.py:91 |
| 17 | calendar_routes.router |
/ |
Calendar | backend/app/routes.py:93 |
| 18 | mail_routes.router |
/ |
backend/app/routes.py:98 |
|
| 19 | reader.router |
/ |
Reader | backend/app/routes.py:103 |
| 20 | meeting_routes.router |
/ |
Meetings | backend/app/routes.py:108 |
| 21 | tools_routes.router |
/ |
Tools | backend/app/routes.py:113 |
| 22 | analytics_routes.router |
/ |
Analytics | backend/app/routes.py:118 |
| 23 | scheduler_routes.router |
/ |
Scheduler | backend/app/routes.py:119 |
| 24 | contacts_routes.router |
/api |
Contacts | backend/app/routes.py:124 |
| 25 | public_routes.router |
/api |
Public API / PAT | backend/app/routes.py:130 |
| 26 | google_auth_routes.router |
/ |
Auth | backend/app/routes.py:132 |
| 27 | microsoft_auth_routes.router |
/ |
Auth | backend/app/routes.py:133 |
| 28 | integrations_routes.router |
/ |
Integrations | backend/app/routes.py:134 |
| 29 | auth_routes.router |
/ |
Auth | backend/app/routes.py:135 |
| 30 | config_routes.router |
/api |
Config | backend/app/routes.py:136 |
| 31 | env_routes.router |
/api |
Env | backend/app/routes.py:137 |
| 32 | credentials_routes.router |
/api |
Credentials | backend/app/routes.py:138 |
| 33 | ai_routes.router |
/api |
AI Settings | backend/app/routes.py:139 |
| 34 | agent_skills_routes.router |
/api |
AI Skills | backend/app/routes.py:145 |
| 35 | notion_routes.router |
/api |
Notion Import | backend/app/routes.py:151 |
| 36 | notion_oauth_routes.router |
/api |
Notion MCP OAuth | backend/app/routes.py:157 |
| 37 | vaults_routes.router |
/api |
Vaults | backend/app/routes.py:163 |
| 38 | vault_templates_routes.router |
/api |
Vault templates | backend/app/routes.py:164 |
| 39 | identity_routes.router |
/ |
Identity | backend/app/routes.py:169 |
Operaciones¶
| Método | Ruta efectiva | Gestor | Etiquetas | Controles de dependencias | Resumen | Fuente |
|---|---|---|---|---|---|---|
GET |
/agents/{agent_id}/learning |
get_learning_workspace |
— | Depends(require_role('viewer')) | Get learning workspace | backend/domains/configuration/agent/learning_project_routes.py:16 |
PUT |
/agents/{agent_id}/learning/{session_id} |
bind_learning_project |
— | Depends(require_role('editor')) | Bind learning project | backend/domains/configuration/agent/learning_project_routes.py:62 |
POST |
/agents/{agent_id}/projects |
create_learning_project |
— | Depends(require_role('editor')) | Create learning project | backend/domains/configuration/agent/learning_project_routes.py:25 |
DELETE |
/agents/{agent_id}/projects/{project_id} |
remove_learning_project |
— | Depends(require_role('editor')) | Remove learning project | backend/domains/configuration/agent/learning_project_routes.py:49 |
PUT |
/agents/{agent_id}/projects/{project_id} |
update_learning_project |
— | Depends(require_role('editor')) | Update learning project | backend/domains/configuration/agent/learning_project_routes.py:37 |
GET |
/api/agent/runs |
runs |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Runs | backend/domains/agent/routes/runs.py:257 |
PUT |
/api/agent/runs/bindings/{operation} |
update_binding |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Update binding | backend/domains/agent/routes/runs.py:185 |
POST |
/api/agent/runs/preview |
preview |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Preview | backend/domains/agent/routes/runs.py:154 |
GET |
/api/agent/runs/role-evaluation-agents |
role_evaluation_agents |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Role evaluation agents | backend/domains/agent/routes/runs.py:62 |
GET |
/api/agent/runs/role-evaluations |
role_evaluations |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Role evaluations | backend/domains/agent/routes/runs.py:73 |
POST |
/api/agent/runs/role-evaluations |
run_role_evaluation |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Run role evaluation | backend/domains/agent/routes/runs.py:79 |
GET |
/api/agent/runs/team-proposals |
team_proposals |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Team proposals | backend/domains/agent/routes/runs.py:31 |
GET |
/api/agent/runs/trace-settings |
trace_settings |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Trace settings | backend/domains/agent/routes/runs.py:199 |
PUT |
/api/agent/runs/trace-settings |
update_trace_settings |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Update trace settings | backend/domains/agent/routes/runs.py:205 |
GET |
/api/agent/runs/{run_id} |
run |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Run | backend/domains/agent/routes/runs.py:262 |
POST |
/api/agent/runs/{run_id}/cancel |
cancel |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Cancel | backend/domains/agent/routes/runs.py:270 |
POST |
/api/agent/runs/{run_id}/resume |
resume |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Resume | backend/domains/agent/routes/runs.py:278 |
POST |
/api/agent/runs/{run_id}/team-proposals/{proposal_id} |
decide_team_proposal |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Decide team proposal | backend/domains/agent/routes/runs.py:39 |
DELETE |
/api/agent/runs/{run_id}/trace |
delete_trace |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Delete trace | backend/domains/agent/routes/runs.py:222 |
GET |
/api/agent/runs/{run_id}/trace |
trace |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Trace | backend/domains/agent/routes/runs.py:213 |
GET |
/api/agent/runs/{run_id}/trace/export |
export_trace |
Agent runs | [Depends(require_plugins('ai-platform')), Depends(bind_request_scope)] | Export trace | backend/domains/agent/routes/runs.py:234 |
GET |
/api/ai/catalog |
get_ai_catalog |
AI Settings | — | Get ai catalog | backend/api/ai_routes.py:267 |
GET |
/api/ai/model-catalog |
get_model_catalog |
AI Settings | — | Provider → model catalog (ids + cost/context/capabilities) feeding the | backend/api/ai_routes.py:538 |
GET |
/api/ai/model-comparison |
get_model_comparison |
AI Settings | Depends(require_role('viewer')) | Complete, freshly paginated Artificial Analysis language-model feed. | backend/api/ai_routes.py:596 |
GET |
/api/ai/models |
get_model_registry |
AI Settings | — | Returns the router's model registry (config ai.models, or the default) |
backend/api/ai_routes.py:495 |
PUT |
/api/ai/models |
set_model_registry |
AI Settings | [Depends(require_role('admin'))] | Saves the model registry and the budget policy to params.yaml. | backend/api/ai_routes.py:638 |
DELETE |
/api/ai/providers/{provider_id} |
delete_provider |
AI Settings | [Depends(require_role('admin'))] | Disconnect a provider: config entry, its stored credential AND its | backend/api/ai_routes.py:361 |
POST |
/api/ai/providers/{provider_id}/credentials |
set_provider_credentials |
AI Settings | [Depends(require_role('admin'))] | Set provider credentials | backend/api/ai_routes.py:286 |
PATCH |
/api/ai/providers/{provider_id}/status |
update_provider_status |
AI Settings | [Depends(require_role('admin'))] | Update provider status | backend/api/ai_routes.py:450 |
POST |
/api/ai/providers/{provider_id}/validate |
validate_provider |
AI Settings | [Depends(require_role('admin'))] | Attempts to validate the provider by making a simple 'ping' request. | backend/api/ai_routes.py:123 |
GET |
/api/analytics |
get_analytics |
Analytics, analytics | — | Get complete analytics overview (with cache). | backend/api/analytics_routes.py:138 |
DELETE |
/api/analytics/directives |
delete_directive |
Analytics, analytics | [Depends(require_role('admin'))] | Delete a directive file or an entire skill folder. | backend/api/analytics_routes.py:357 |
GET |
/api/analytics/directives |
get_directive_analytics |
Analytics, analytics | — | Get directive analytics from all sources (with cache). | backend/api/analytics_routes.py:181 |
GET |
/api/analytics/directives/content |
get_directive_content |
Analytics, analytics | — | Read directive content. Returns empty if it's a new SKILL.md. | backend/api/analytics_routes.py:313 |
POST |
/api/analytics/directives/content |
save_directive_content |
Analytics, analytics | [Depends(require_role('editor'))] | Update directive content. | backend/api/analytics_routes.py:337 |
GET |
/api/analytics/tools |
get_tool_analytics |
Analytics, analytics | — | Get detailed tool analytics (Consolidated internally in registry). | backend/api/analytics_routes.py:175 |
GET |
/api/analytics/traps |
get_traps |
Analytics, analytics | — | Get all documented traps sorted by date (with cache). | backend/api/analytics_routes.py:229 |
POST |
/api/auth/change-password |
change_password |
Auth, auth | Depends(get_current_user_id), Depends(get_mgmt_db) | Rotates the authenticated user's password. | backend/api/auth_routes.py:324 |
GET |
/api/auth/google/callback |
callback |
Auth, auth | — | Callback | backend/api/google_auth_routes.py:246 |
GET |
/api/auth/google/health |
health |
Auth, auth | — | OAuth2 diagnostics for the UI: config status, connected accounts, | backend/api/google_auth_routes.py:115 |
GET |
/api/auth/google/login |
login |
Auth, auth | — | Login | backend/api/google_auth_routes.py:168 |
GET |
/api/auth/google/status |
status |
Auth, auth | — | Status | backend/api/google_auth_routes.py:106 |
POST |
/api/auth/login |
login |
Auth, auth | Depends(get_mgmt_db) | Login via email + password. 401 if credentials are incorrect. | backend/api/auth_routes.py:252 |
POST |
/api/auth/logout |
logout |
Auth, auth | — | Deletes the session cookie. Idempotent. | backend/api/auth_routes.py:271 |
GET |
/api/auth/me |
me |
Auth, auth | Depends(get_current_user_id), Depends(get_mgmt_db) | Current authenticated user. 401 if there's no session. | backend/api/auth_routes.py:278 |
PATCH |
/api/auth/me |
update_me |
Auth, auth | Depends(get_current_user_id), Depends(get_mgmt_db) | Updates the authenticated user's name and/or email. | backend/api/auth_routes.py:350 |
GET |
/api/auth/microsoft/callback |
callback |
Auth, auth | — | Callback | backend/api/microsoft_auth_routes.py:198 |
GET |
/api/auth/microsoft/desktop/callback |
callback |
Auth, auth | — | Callback | backend/api/microsoft_auth_routes.py:198 |
GET |
/api/auth/microsoft/login |
login |
Auth, auth | — | Login | backend/api/microsoft_auth_routes.py:104 |
GET |
/api/auth/microsoft/status |
status |
Auth, auth | — | Status | backend/api/microsoft_auth_routes.py:94 |
POST |
/api/auth/register |
register |
Auth, auth | Depends(get_mgmt_db) | Creates a new user with email + password. | backend/api/auth_routes.py:173 |
GET |
/api/calendar/attendees/search |
search_attendees |
Calendar | [Depends(get_workspace_context)] | Search Google contacts for autocomplete in the attendees form. | backend/api/calendar_routes.py:513 |
GET |
/api/calendar/calendars |
get_calendars |
Calendar | [Depends(get_workspace_context)] | Returns the list of available calendars for an account or for all of them. | backend/api/calendar_routes.py:97 |
GET |
/api/calendar/events |
get_events |
Calendar | [Depends(get_workspace_context)] | Returns Google Calendar / CalDAV events directly (without the vault). | backend/api/calendar_routes.py:141 |
POST |
/api/calendar/events |
post_event |
Calendar | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Creates a new event in Google Calendar. | backend/api/calendar_routes.py:310 |
DELETE |
/api/calendar/events/{event_id} |
delete_event |
Calendar | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Deletes an event from Google Calendar or the vault. | backend/api/calendar_routes.py:394 |
GET |
/api/calendar/events/{event_id} |
get_event |
Calendar | [Depends(get_workspace_context)] | Return the details of an event (Google Calendar or CalDAV). | backend/api/calendar_routes.py:287 |
PATCH |
/api/calendar/events/{event_id} |
_patch_event_endpoint |
Calendar | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Patch event endpoint | backend/api/calendar_routes.py:372 |
POST |
/api/calendar/events/{event_id}/hide |
hide_event |
Calendar | [Depends(get_workspace_context)] | Hides an event locally. | backend/api/calendar_routes.py:651 |
POST |
/api/calendar/events/{event_id}/invite |
_invite_to_event_endpoint |
Calendar | [Depends(get_workspace_context)] | Invite to event endpoint | backend/api/calendar_routes.py:639 |
POST |
/api/calendar/events/{event_id}/rsvp |
_rsvp_event_endpoint |
Calendar | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Rsvp event endpoint | backend/api/calendar_routes.py:587 |
POST |
/api/calendar/events/{event_id}/unhide |
unhide_event |
Calendar | [Depends(get_workspace_context)] | Show a hidden event again. | backend/api/calendar_routes.py:676 |
GET |
/api/calendar/feed.ics |
get_ics_feed |
Calendar | [Depends(get_workspace_context)] | Generate an .ics of all events (local vault + Google Calendar). | backend/api/calendar_routes.py:473 |
POST |
/api/calendar/freebusy |
_post_freebusy_endpoint |
Calendar | [Depends(get_workspace_context)] | Post freebusy endpoint | backend/api/calendar_routes.py:461 |
GET |
/api/calendar/geocode |
geocode_location |
Calendar | [Depends(get_workspace_context)] | Autocompletes/verifies addresses via Photon (OpenStreetMap). No API key needed. | backend/api/calendar_routes.py:551 |
GET |
/api/calendar/reminders |
get_meeting_reminders |
Calendar | [Depends(get_workspace_context)] | Active reminders for the app banner (with the agenda already | backend/api/calendar_routes.py:235 |
GET |
/api/calendar/reminders/settings |
get_meeting_reminder_settings |
Calendar | [Depends(get_workspace_context)] | Get meeting reminder settings | backend/api/calendar_routes.py:254 |
PUT |
/api/calendar/reminders/settings |
update_meeting_reminder_settings |
Calendar | [Depends(get_workspace_context)] | Updates {enabled, lead_minutes} and keeps a SINGLE source of truth for | backend/api/calendar_routes.py:261 |
POST |
/api/calendar/reminders/{reminder_id}/dismiss |
dismiss_meeting_reminder |
Calendar | [Depends(get_workspace_context)] | Dismiss meeting reminder | backend/api/calendar_routes.py:246 |
POST |
/api/calendar/sync |
sync_calendar_accounts |
Calendar | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | With the hybrid architecture, syncing to the vault is no longer necessary. | backend/api/calendar_routes.py:491 |
GET |
/api/config |
get_config |
Config | [Depends(require_role('admin'))] | Get config | backend/domains/configuration/api/settings.py:163 |
POST |
/api/config |
update_config |
Config | [Depends(require_role('admin'))] | Update config | backend/domains/configuration/api/settings.py:356 |
GET |
/api/config/editor |
get_editor_configuration |
Config | [Depends(require_role('admin'))] | Get editor configuration | backend/domains/configuration/api/settings.py:151 |
GET |
/api/config/graph |
get_graph_configuration |
Config | [Depends(require_role('admin'))] | Get graph configuration | backend/domains/configuration/api/settings.py:141 |
GET |
/api/config/interface |
get_interface_settings |
Config | [Depends(require_role('admin'))] | Get interface settings | backend/domains/configuration/api/settings.py:146 |
GET |
/api/contacts |
list_contacts |
Contacts | Depends(get_workspace_context), Depends(get_mgmt_db) | List contacts | backend/api/contacts_routes.py:98 |
POST |
/api/contacts |
create_contact |
Contacts | Depends(require_role('editor')), Depends(get_mgmt_db) | Create contact | backend/api/contacts_routes.py:153 |
POST |
/api/contacts/sync |
sync_contacts |
Contacts | Depends(require_role('editor')), Depends(get_mgmt_db) | Sync contacts | backend/api/contacts_routes.py:251 |
GET |
/api/contacts/sync/status |
sync_status |
Contacts | Depends(get_workspace_context), Depends(get_mgmt_db) | Sync status | backend/api/contacts_routes.py:304 |
DELETE |
/api/contacts/{contact_id} |
delete_contact |
Contacts | Depends(require_role('editor')), Depends(get_mgmt_db) | Delete contact | backend/api/contacts_routes.py:215 |
GET |
/api/contacts/{contact_id} |
get_contact |
Contacts | Depends(get_workspace_context), Depends(get_mgmt_db) | Get contact | backend/api/contacts_routes.py:131 |
PUT |
/api/contacts/{contact_id} |
update_contact |
Contacts | Depends(require_role('editor')), Depends(get_mgmt_db) | Update contact | backend/api/contacts_routes.py:184 |
GET |
/api/credentials |
list_credentials |
Credentials | [Depends(require_role('admin'))] | List all credentials with their status (without exposing values). | backend/domains/configuration/api/credentials.py:78 |
POST |
/api/credentials |
set_credential |
Credentials | [Depends(require_role('admin'))] | Set a credential value. | backend/domains/configuration/api/credentials.py:119 |
POST |
/api/credentials/migrate |
migrate_from_env |
Credentials | [Depends(require_role('admin'))] | Import credentials from the explicitly configured shared env file. | backend/domains/configuration/api/credentials.py:159 |
DELETE |
/api/credentials/{credential_key} |
delete_credential |
Credentials | [Depends(require_role('admin'))] | Delete a credential. | backend/domains/configuration/api/credentials.py:139 |
GET |
/api/credentials/{credential_key} |
get_credential_status |
Credentials | [Depends(require_role('admin'))] | Check if a specific credential exists. | backend/domains/configuration/api/credentials.py:99 |
GET |
/api/env |
get_env |
Env | [Depends(require_role('admin'))] | Get environment variables from .env file (tokens are masked). | backend/domains/configuration/api/environment.py:101 |
POST |
/api/env |
update_env |
Env | [Depends(require_role('admin'))] | Update local settings and route credentials to secure storage. | backend/domains/configuration/api/environment.py:126 |
GET |
/api/graph |
get_vault_graph |
Vault Graph | — | Return the current Vault topology and the canonical Brain proposal overlay. | backend/api/vault_graph_routes.py:110 |
GET |
/api/health |
health_check |
— | — | Health check | backend/app/factory.py:85 |
GET |
/api/identity |
get_identity |
Identity | [Depends(get_workspace_context)] | Get identity | backend/api/identity_routes.py:42 |
POST |
/api/identity |
save_identity |
Identity | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Save identity | backend/api/identity_routes.py:68 |
GET |
/api/integrations |
get_integrations |
Integrations, integrations | — | Returns safe masked integration configuration for the UI. | backend/api/integrations_routes.py:132 |
POST |
/api/integrations/bulk |
bulk_update_integrations |
Integrations, integrations | [Depends(require_role('editor'))] | Updates multiple integrations at once. | backend/api/integrations_routes.py:555 |
PUT |
/api/integrations/calendar_aliases |
update_calendar_aliases |
Integrations, integrations | [Depends(require_role('editor'))] | Saves custom names/aliases for specific calendar sources. | backend/api/integrations_routes.py:461 |
PUT |
/api/integrations/calendar_colors |
update_calendar_colors |
Integrations, integrations | [Depends(require_role('editor'))] | Saves custom colors for specific calendar sources. | backend/api/integrations_routes.py:443 |
PUT |
/api/integrations/calendar_selection |
update_calendar_selection |
Integrations, integrations | [Depends(require_role('editor'))] | Saves the list of visible/selected calendar sources. | backend/api/integrations_routes.py:479 |
PUT |
/api/integrations/default_calendar |
update_default_calendar |
Integrations, integrations | [Depends(require_role('editor'))] | Save the default calendar for new appointments. | backend/api/integrations_routes.py:501 |
PUT |
/api/integrations/default_contacts |
update_default_contacts |
Integrations, integrations | [Depends(require_role('editor'))] | Save the default contacts account. | backend/api/integrations_routes.py:537 |
PUT |
/api/integrations/default_mail |
update_default_mail |
Integrations, integrations | [Depends(require_role('editor'))] | Save the default mail account. | backend/api/integrations_routes.py:519 |
POST |
/api/integrations/test-calendar |
test_calendar_connection |
Integrations, integrations | [Depends(require_role('editor')), Depends(require_plugins('calendar'))] | Tests CalDAV connection for a calendar account. | backend/api/integrations_routes.py:355 |
POST |
/api/integrations/test-contacts |
test_contacts_connection |
Integrations, integrations | [Depends(require_role('editor')), Depends(require_plugins('contacts'))] | Tests CardDAV connection for a contacts account. | backend/api/integrations_routes.py:299 |
POST |
/api/integrations/test-email |
test_email_connection |
Integrations, integrations | [Depends(require_role('editor')), Depends(require_plugins('mail'))] | Tests IMAP/SMTP connection for an email account. | backend/api/integrations_routes.py:208 |
PUT |
/api/integrations/{integration_id} |
update_integration |
Integrations, integrations | [Depends(require_role('editor'))] | Updates a specific integration (e.g. 'email', 'ai') | backend/api/integrations_routes.py:420 |
POST |
/api/meetings/record |
record_meeting |
Meetings | [Depends(require_role('editor'))] | Receives the audio, saves it, and starts background processing. | backend/api/meeting_routes.py:47 |
GET |
/api/meetings/status |
meeting_status |
Meetings | — | Status of the in-flight job (polled from the frontend). | backend/api/meeting_routes.py:84 |
POST |
/api/meetings/{job_id}/resume |
resume_meeting |
Meetings | [Depends(require_role('editor'))] | Resume only this owner's stopped job with its saved transcript and inputs. | backend/api/meeting_routes.py:90 |
GET |
/api/notebooks |
list_notebooks |
Notebooks | Depends(require_role('viewer')) | List notebooks | backend/api/notebook_routes.py:43 |
POST |
/api/notebooks |
create_notebook |
Notebooks | Depends(require_role('editor')) | Create notebook | backend/api/notebook_routes.py:58 |
GET |
/api/notebooks/resources |
list_reference_resources |
Notebooks | Depends(require_role('viewer')) | List reference resources | backend/api/notebook_routes.py:76 |
DELETE |
/api/notebooks/{notebook_id} |
delete_notebook |
Notebooks | Depends(require_role('viewer')) | Delete notebook | backend/api/notebook_routes.py:132 |
GET |
/api/notebooks/{notebook_id} |
get_notebook |
Notebooks | Depends(require_role('viewer')) | Get notebook | backend/api/notebook_routes.py:103 |
PATCH |
/api/notebooks/{notebook_id} |
update_notebook |
Notebooks | Depends(require_role('viewer')) | Update notebook | backend/api/notebook_routes.py:116 |
GET |
/api/notebooks/{notebook_id}/chat-sources |
list_chat_sources |
Notebooks | Depends(require_role('viewer')) | List chat sources | backend/api/notebook_routes.py:192 |
GET |
/api/notebooks/{notebook_id}/conversation |
get_conversation |
Notebooks | Depends(require_role('viewer')) | Return the canonical shared or per-member notebook transcript. | backend/api/notebook_routes.py:322 |
GET |
/api/notebooks/{notebook_id}/evidence/{chunk_id} |
read_evidence |
Notebooks | Depends(require_role('viewer')) | Read evidence | backend/api/notebook_routes.py:300 |
POST |
/api/notebooks/{notebook_id}/refresh |
refresh_notebook |
Notebooks | Depends(require_role('viewer')) | Refresh notebook | backend/api/notebook_routes.py:252 |
POST |
/api/notebooks/{notebook_id}/refresh/cancel |
cancel_notebook_refresh |
Notebooks | Depends(require_role('viewer')) | Cancel notebook refresh | backend/api/notebook_routes.py:271 |
GET |
/api/notebooks/{notebook_id}/search |
search_notebook |
Notebooks | Depends(require_role('viewer')) | Search notebook | backend/api/notebook_routes.py:283 |
GET |
/api/notebooks/{notebook_id}/sources |
list_sources |
Notebooks | Depends(require_role('viewer')) | List sources | backend/api/notebook_routes.py:176 |
POST |
/api/notebooks/{notebook_id}/sources |
add_sources |
Notebooks | Depends(require_role('viewer')) | Add sources | backend/api/notebook_routes.py:204 |
DELETE |
/api/notebooks/{notebook_id}/sources/{resource_id} |
remove_source |
Notebooks | Depends(require_role('viewer')) | Remove source | backend/api/notebook_routes.py:217 |
POST |
/api/notebooks/{notebook_id}/sources/{resource_id}/refresh |
refresh_resource |
Notebooks | Depends(require_role('viewer')) | Refresh resource | backend/api/notebook_routes.py:231 |
GET |
/api/notion-oauth/callback |
callback |
Notion MCP OAuth | — | Callback | backend/api/notion_oauth_routes.py:171 |
GET |
/api/notion-oauth/login |
login |
Notion MCP OAuth | — | Login | backend/api/notion_oauth_routes.py:144 |
GET |
/api/notion-oauth/status |
status |
Notion MCP OAuth | — | Status | backend/api/notion_oauth_routes.py:138 |
DELETE |
/api/notion-oauth/token |
disconnect |
Notion MCP OAuth | [Depends(require_role('admin'))] | Disconnect | backend/api/notion_oauth_routes.py:219 |
POST |
/api/notion/clone |
run_clone |
Notion Import | [Depends(require_role('editor'))] | EXACT Notion clone into a NEW folder (views+columns via MCP). Doesn't touch the vault. | backend/api/notion_routes.py:626 |
POST |
/api/notion/clone/abort |
clone_abort |
Notion Import | [Depends(require_role('editor'))] | Requests to abort the ongoing clone. Cooperative cancellation: it stops at the next | backend/api/notion_routes.py:554 |
GET |
/api/notion/clone/progress |
clone_progress |
Notion Import | [Depends(require_role('editor'))] | Status of the ongoing clone (for the frontend's progress bar). Non-blocking. | backend/api/notion_routes.py:543 |
GET |
/api/notion/databases |
list_databases |
Notion Import | [Depends(require_role('editor'))] | Lists the Notion DBs shared with the integration. | backend/api/notion_routes.py:339 |
GET |
/api/notion/databases/{db_id}/schema |
database_schema |
Notion Import | [Depends(require_role('editor'))] | Schema of a Notion DB in SchemaConfigModal format (to configure it before | backend/api/notion_routes.py:367 |
GET |
/api/notion/import-config |
get_import_config |
Notion Import | [Depends(require_role('editor'))] | Saved config of the import panel (databases, selected, schemaOverrides, | backend/api/notion_routes.py:297 |
PUT |
/api/notion/import-config |
put_import_config |
Notion Import | [Depends(require_role('editor'))] | Saves the import panel config (free-form JSON, same shape as the frontend's | backend/api/notion_routes.py:317 |
GET |
/api/notion/linked-databases |
list_linked_databases |
Notion Import | [Depends(require_role('editor'))] | Linked DBs (views) that show up in Notion but can't be imported via API. | backend/api/notion_routes.py:409 |
GET |
/api/notion/loose-pages |
list_loose_pages |
Notion Import | [Depends(require_role('editor'))] | Notion pages OUTSIDE any DB → for choosing wiki/dashboard. | backend/api/notion_routes.py:427 |
GET |
/api/notion/status |
notion_status |
Notion Import | — | Notion status | backend/api/notion_routes.py:266 |
DELETE |
/api/notion/token |
delete_token |
Notion Import | [Depends(require_role('admin'))] | Delete token | backend/api/notion_routes.py:275 |
POST |
/api/notion/token |
set_token |
Notion Import | [Depends(require_role('admin'))] | Saves and validates the Notion integration token (tests it with /users/me). | backend/api/notion_routes.py:247 |
POST |
/api/notion/verify-clone |
verify_clone_route |
Notion Import | [Depends(require_role('editor'))] | Checks the health of the clone (Notion ↔ clone): count parity per DB, empty bodies, | backend/api/notion_routes.py:742 |
GET |
/api/pages/{page_id}/views |
get_page_views |
Vault Views | — | Returns the views configured for a page. | backend/api/vault_views_routes.py:180 |
POST |
/api/pages/{page_id}/views |
upsert_page_view |
Vault Views | [Depends(require_role('editor'))] | Adds or updates a view for a specific page. | backend/api/vault_views_routes.py:241 |
DELETE |
/api/pages/{page_id}/views/{heading} |
delete_page_view |
Vault Views | [Depends(require_role('editor'))] | Deletes a view from a page and re-syncs the .md. | backend/api/vault_views_routes.py:362 |
GET |
/api/planning/allocation |
get_allocation |
Project Planning | [Depends(get_workspace_context)] | Returns a rebuildable allocation/cost report without writing task data. | backend/api/planning_routes.py:138 |
POST |
/api/planning/assignments |
create_assignment |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Create assignment | backend/api/planning_routes.py:707 |
DELETE |
/api/planning/assignments/{assignment_id} |
delete_assignment |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Delete assignment | backend/api/planning_routes.py:756 |
PATCH |
/api/planning/assignments/{assignment_id} |
update_assignment |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Update assignment | backend/api/planning_routes.py:728 |
POST |
/api/planning/calendars |
create_calendar |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Create calendar | backend/api/planning_routes.py:570 |
DELETE |
/api/planning/calendars/{calendar_id} |
delete_calendar |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Delete calendar | backend/api/planning_routes.py:614 |
PATCH |
/api/planning/calendars/{calendar_id} |
update_calendar |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Update calendar | backend/api/planning_routes.py:590 |
GET |
/api/planning/leveling/proposal |
get_leveling_proposal |
Project Planning | [Depends(get_workspace_context)] | Returns review-only delay suggestions; it never changes task dates. | backend/api/planning_routes.py:149 |
POST |
/api/planning/leveling/proposals/{proposal_id}/apply |
apply_leveling_proposal |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Accepts a current proposal only after revision and ETag validation. | backend/api/planning_routes.py:404 |
GET |
/api/planning/projects/{project_id}/baselines |
list_baselines |
Project Planning | [Depends(get_workspace_context)] | List baselines | backend/api/planning_routes.py:246 |
POST |
/api/planning/projects/{project_id}/baselines |
create_baseline |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Captures an immutable named schedule snapshot in append-only history. | backend/api/planning_routes.py:206 |
GET |
/api/planning/projects/{project_id}/baselines/{baseline_id}/variance |
get_baseline_variance |
Project Planning | [Depends(get_workspace_context)] | Compares the current derived schedule with an immutable baseline. | backend/api/planning_routes.py:261 |
POST |
/api/planning/projects/{project_id}/leveling/proposals |
create_leveling_proposal |
Project Planning | [Depends(get_workspace_context)] | Create leveling proposal | backend/api/planning_routes.py:373 |
POST |
/api/planning/projects/{project_id}/recalculate |
recalculate_project |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Rebuilds a project schedule from caller-provided Markdown task facts. | backend/api/planning_routes.py:178 |
GET |
/api/planning/projects/{project_id}/schedule |
get_project_schedule |
Project Planning | [Depends(get_workspace_context)] | Returns the cached, reconstructible schedule for one project. | backend/api/planning_routes.py:160 |
POST |
/api/planning/recurrences |
create_recurrence |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Stores an RRULE declaration; materialization always creates stable tasks. | backend/api/planning_routes.py:478 |
POST |
/api/planning/recurrences/{recurrence_id}/materialize |
materialize_recurrence |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Materializes bounded RRULE occurrences as stable Markdown task pages. | backend/api/planning_routes.py:495 |
POST |
/api/planning/resources |
create_resource |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Create resource | backend/api/planning_routes.py:637 |
DELETE |
/api/planning/resources/{resource_id} |
delete_resource |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Delete resource | backend/api/planning_routes.py:686 |
PATCH |
/api/planning/resources/{resource_id} |
update_resource |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Update resource | backend/api/planning_routes.py:658 |
GET |
/api/planning/state |
get_planning_state |
Project Planning | [Depends(get_workspace_context)] | Returns source entities plus a derived allocation snapshot. | backend/api/planning_routes.py:127 |
GET |
/api/planning/worklogs |
list_worklogs |
Project Planning | [Depends(get_workspace_context)] | List worklogs | backend/api/planning_routes.py:358 |
POST |
/api/planning/worklogs |
create_worklog |
Project Planning | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Create worklog | backend/api/planning_routes.py:336 |
POST |
/api/public/clip |
public_clip |
Public API / PAT | Depends(require_pat_write), Depends(get_workspace_context) | Web clipper endpoint: saves a web page (URL + selection) to the vault. | backend/api/public_routes.py:398 |
GET |
/api/public/clip/config |
public_clip_config |
Public API / PAT | Depends(require_pat), Depends(get_workspace_context) | Destination and form schema for the browser extension. | backend/api/public_routes.py:362 |
POST |
/api/public/pages |
public_create_page |
Public API / PAT | Depends(require_pat_write) | Creates a page in the vault via the public API (PAT). | backend/api/public_routes.py:297 |
GET |
/api/public/ping |
public_ping |
Public API / PAT | Depends(require_pat) | Authentication check for public API clients. | backend/api/public_routes.py:280 |
GET |
/api/reader/articles |
get_articles |
Reader, reader | [Depends(get_workspace_context)], Depends(get_db) | List articles. Filters: unread only, one or more source IDs. | backend/domains/reader/routes.py:378 |
GET |
/api/reader/articles/{article_id} |
get_article |
Reader, reader | [Depends(get_workspace_context)], Depends(get_db) | Read one exact Reader article for evidence links and deep linking. | backend/domains/reader/routes.py:497 |
POST |
/api/reader/articles/{article_id}/extract |
extract_article_full_content |
Reader, reader | [Depends(get_workspace_context)], [Depends(require_role('editor'))], Depends(get_db) | Force a full-text extraction for an existing article. | backend/domains/reader/routes.py:464 |
PATCH |
/api/reader/articles/{article_id}/read |
mark_article_read |
Reader, reader | [Depends(get_workspace_context)], [Depends(require_role('editor'))], Depends(get_db) | Mark an article as read or unread | backend/domains/reader/routes.py:443 |
GET |
/api/reader/newsletter-account |
get_newsletter_account |
Reader, reader | [Depends(get_workspace_context)], Depends(get_db) | Read POP3 newsletter account config. Side-effect-free: if no row exists, | backend/domains/reader/routes.py:239 |
PUT |
/api/reader/newsletter-account |
update_newsletter_account |
Reader, reader | [Depends(get_workspace_context)], [Depends(require_role('editor'))], Depends(get_db) | Update POP3 newsletter account. Only fields provided are updated; password optional. | backend/domains/reader/routes.py:254 |
POST |
/api/reader/newsletter-account/sync |
sync_newsletter_account |
Reader, reader | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Schedule a newsletter ingestion run. Returns immediately (202 Accepted-ish); | backend/domains/reader/routes.py:364 |
POST |
/api/reader/newsletter-account/test |
test_newsletter_account |
Reader, reader | [Depends(get_workspace_context)], [Depends(require_role('editor'))], Depends(get_db) | Try to log in to the POP3 server and report number of messages waiting. | backend/domains/reader/routes.py:292 |
GET |
/api/reader/sources |
get_sources |
Reader, reader | [Depends(get_workspace_context)], Depends(get_db) | List all feed sources | backend/domains/reader/routes.py:74 |
POST |
/api/reader/sources |
create_source |
Reader, reader | [Depends(get_workspace_context)], [Depends(require_role('editor'))], Depends(get_db) | Add a new feed source | backend/domains/reader/routes.py:85 |
POST |
/api/reader/sources/opml |
upload_opml |
Reader, reader | [Depends(get_workspace_context)], [Depends(require_role('editor'))], Depends(get_db) | Upload an OPML file to import feeds | backend/domains/reader/routes.py:119 |
DELETE |
/api/reader/sources/{source_id} |
delete_source |
Reader, reader | [Depends(get_workspace_context)], [Depends(require_role('editor'))], Depends(get_db) | Delete a source and its articles | backend/domains/reader/routes.py:103 |
GET |
/api/schedulers |
list_tasks |
Scheduler, schedulers | — | Get all scheduled tasks. | backend/api/scheduler_routes.py:28 |
DELETE |
/api/schedulers/history |
clear_history |
Scheduler, schedulers | [Depends(require_role('admin'))] | Clear execution history for all tasks. | backend/api/scheduler_routes.py:38 |
GET |
/api/schedulers/history |
get_history |
Scheduler, schedulers | Depends(get_mgmt_db) | Get task execution history with pagination. | backend/api/scheduler_routes.py:50 |
GET |
/api/schedulers/{name} |
get_task |
Scheduler, schedulers | — | Get a specific task. | backend/api/scheduler_routes.py:74 |
PUT |
/api/schedulers/{name} |
update_task |
Scheduler, schedulers | [Depends(require_role('admin'))] | Update a task's configuration. | backend/api/scheduler_routes.py:87 |
POST |
/api/schedulers/{name}/run |
run_task |
Scheduler, schedulers | [Depends(require_role('admin'))] | Run a task immediately in the background. | backend/api/scheduler_routes.py:109 |
GET |
/api/share/{token} |
read_shared_page |
Share | Depends(get_mgmt_db) | Anonymous read of a shared page. The ONLY unauthenticated endpoint. | backend/api/share_routes.py:187 |
POST |
/api/social/compose |
compose_posts |
Social | [Depends(require_role('editor'))] | Generate (with AI) a text proposal adapted for each network. Does NOT publish. | backend/api/social_routes.py:330 |
GET |
/api/social/feed/{stream_id} |
get_feed |
Social | — | Returns posts for a specific stream. | backend/api/social_routes.py:98 |
GET |
/api/social/history |
get_post_history |
Social | — | Returns the history of published posts (most recent first). | backend/api/social_routes.py:714 |
POST |
/api/social/interact |
interact_with_post |
Social | [Depends(require_role('editor'))] | Perform an interaction (like, reblog) on a post. | backend/api/social_routes.py:277 |
GET |
/api/social/networks |
get_networks |
Social | — | Returns the user-configured social networks, with live config status. | backend/api/social_routes.py:74 |
PUT |
/api/social/networks |
update_networks |
Social | [Depends(require_role('editor'))] | Saves the enabled/disabled state and per-network settings. | backend/api/social_routes.py:84 |
POST |
/api/social/post |
create_post |
Social | [Depends(require_role('editor'))] | Compat: publishes the SAME text to multiple networks. For a per-network message, | backend/api/social_routes.py:573 |
POST |
/api/social/process-scheduled |
process_scheduled_posts |
Social | [Depends(require_role('editor'))] | Publish overdue scheduled posts. Called periodically by the scheduler. | backend/api/social_routes.py:669 |
POST |
/api/social/publish |
publish_posts |
Social | [Depends(require_role('editor'))] | Publish a message (potentially different) per network and save the registry. | backend/api/social_routes.py:548 |
POST |
/api/social/schedule |
schedule_post |
Social | [Depends(require_role('editor'))] | Schedule a future publication (saved to the Vault table, not in memory). | backend/api/social_routes.py:593 |
GET |
/api/social/scheduled |
get_scheduled_posts |
Social | — | Returns all pending scheduled posts. | backend/api/social_routes.py:623 |
DELETE |
/api/social/scheduled/{post_id} |
cancel_scheduled_post |
Social | [Depends(require_role('editor'))] | Cancel a scheduled post (marks the status as cancelled). | backend/api/social_routes.py:649 |
GET |
/api/social/streams |
get_streams |
Social | — | Returns the user-configured streams/columns. | backend/api/social_routes.py:57 |
PUT |
/api/social/streams |
update_streams |
Social | [Depends(require_role('editor'))] | Saves the user's stream configuration. | backend/api/social_routes.py:67 |
POST |
/api/system/browse |
browse_directory |
— | [Depends(require_role('admin'))] | Browse directory contents for the folder/file picker. | backend/api/system_routes.py:299 |
GET |
/api/system/graph/visualization |
get_graph_viz |
— | — | Get graph viz | backend/api/system_routes.py:268 |
POST |
/api/system/native-pick |
native_pick |
— | [Depends(require_role('admin'))] | Open the host's native file/folder dialog and return the chosen path. | backend/api/system_routes.py:405 |
GET |
/api/system/native-pick/available |
native_pick_available |
— | [Depends(require_role('admin'))] | Whether the native OS file/folder dialog can be offered from here. | backend/api/system_routes.py:386 |
DELETE |
/api/system/notifications |
clear_notifications |
— | [Depends(require_role('admin'))], Depends(get_mgmt_db) | Deletes all system notifications. | backend/api/system_routes.py:98 |
GET |
/api/system/notifications |
get_notifications |
— | Depends(get_mgmt_db) | Returns system notifications with pagination. | backend/api/system_routes.py:41 |
POST |
/api/system/notifications |
create_notification |
— | Depends(get_mgmt_db) | Persist a notification to the central log. | backend/api/system_routes.py:59 |
POST |
/api/system/search |
search_filesystem |
— | [Depends(require_role('admin'))] | Search by name across the whole system (Vault + Library + host home). | backend/api/system_routes.py:659 |
GET |
/api/system/stats |
get_system_stats |
— | — | Returns real system statistics. | backend/api/system_routes.py:242 |
GET |
/api/tokens |
list_tokens |
Public API / PAT | Depends(get_workspace_context), Depends(get_mgmt_db) | List tokens | backend/api/public_routes.py:188 |
POST |
/api/tokens |
create_token |
Public API / PAT | Depends(get_workspace_context), Depends(get_mgmt_db) | Creates a PAT. Returns the plaintext token ONCE (it won't be shown again). | backend/api/public_routes.py:158 |
DELETE |
/api/tokens/{token_id} |
revoke_token |
Public API / PAT | Depends(get_workspace_context), Depends(get_mgmt_db) | Revoke token | backend/api/public_routes.py:215 |
POST |
/api/tools/approve |
approve_tool |
Tools, tools | [Depends(require_role('admin'))] | Approve a pending tool. | backend/api/tools_routes.py:106 |
GET |
/api/tools/approved |
get_approved_tools |
Tools, tools | — | Get all approved tools. | backend/api/tools_routes.py:80 |
GET |
/api/tools/pending |
get_pending_tools |
Tools, tools | — | Get all tools pending approval. | backend/api/tools_routes.py:59 |
POST |
/api/tools/reject |
reject_tool |
Tools, tools | [Depends(require_role('admin'))] | Reject a pending tool. | backend/api/tools_routes.py:138 |
GET |
/api/tools/{name} |
get_tool |
Tools, tools | — | Get a specific tool by name. | backend/api/tools_routes.py:169 |
WEBSOCKET |
/api/vault/collab/{page_id} |
collab_ws |
Collaboration | — | Collab ws | backend/api/collab_routes.py:178 |
POST |
/api/vault/genograms/graph |
query_genogram |
Genograms | [Depends(get_workspace_context)], [Depends(require_plugins('genograms'))] | Query genogram | backend/domains/genograms/routes.py:59 |
POST |
/api/vault/genograms/prepare |
prepare_genograms |
Genograms | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Prepare genograms | backend/domains/genograms/routes.py:24 |
GET |
/api/vault/genograms/status |
genograms_status |
Genograms | [Depends(get_workspace_context)] | Genograms status | backend/domains/genograms/routes.py:19 |
POST |
/api/vault/handwriting/cancel-download |
cancel_handwriting_download |
Handwriting | — | Cancel handwriting download | backend/api/handwriting_routes.py:66 |
POST |
/api/vault/handwriting/recognize |
recognize_handwriting |
Handwriting | — | Receives a PNG of the strokes and returns {text, raw, lines, model, corrected}. |
backend/api/handwriting_routes.py:87 |
GET |
/api/vault/handwriting/status |
handwriting_status |
Handwriting | — | Indicates whether the local engine (transformers + PIL) is available. | backend/api/handwriting_routes.py:55 |
POST |
/api/vault/handwriting/warmup |
handwriting_warmup |
Handwriting | — | Preloads the model in the background (idempotent, non-blocking). | backend/api/handwriting_routes.py:71 |
POST |
/api/vault/literature/ai |
run_ai_operation |
Literature | Depends(require_role('editor')) | Run ai operation | backend/api/literature_routes.py:697 |
GET |
/api/vault/literature/catalog |
get_catalog |
Literature | Depends(require_role('viewer')) | Get catalog | backend/api/literature_routes.py:106 |
GET |
/api/vault/literature/configuration |
get_configuration |
Literature | Depends(require_role('viewer')) | Get configuration | backend/api/literature_routes.py:76 |
PUT |
/api/vault/literature/configuration |
update_configuration |
Literature | Depends(require_role('admin')) | Update configuration | backend/api/literature_routes.py:90 |
POST |
/api/vault/literature/imports |
import_results |
Literature | Depends(require_role('editor')) | Import results | backend/api/literature_routes.py:379 |
POST |
/api/vault/literature/manual-capture |
manual_capture |
Literature | Depends(require_role('viewer')) | Manual capture | backend/api/literature_routes.py:655 |
POST |
/api/vault/literature/repositories |
create_repository |
Literature | Depends(require_role('admin')) | Create repository | backend/api/literature_routes.py:139 |
POST |
/api/vault/literature/repositories/test |
test_repository |
Literature | Depends(require_role('admin')) | Test repository | backend/api/literature_routes.py:120 |
DELETE |
/api/vault/literature/repositories/{repository_id} |
delete_repository |
Literature | Depends(require_role('admin')) | Delete repository | backend/api/literature_routes.py:170 |
PUT |
/api/vault/literature/repositories/{repository_id} |
update_repository |
Literature | Depends(require_role('admin')) | Update repository | backend/api/literature_routes.py:154 |
GET |
/api/vault/literature/reviews |
list_reviews |
Literature | Depends(require_role('viewer')) | List reviews | backend/api/literature_routes.py:417 |
POST |
/api/vault/literature/reviews |
create_review |
Literature | Depends(require_role('editor')) | Create review | backend/api/literature_routes.py:433 |
POST |
/api/vault/literature/reviews/tables |
ensure_review_tables |
Literature | Depends(require_role('editor')) | Ensure review tables | backend/api/literature_routes.py:402 |
GET |
/api/vault/literature/reviews/{review_id} |
get_review |
Literature | Depends(require_role('viewer')) | Get review | backend/api/literature_routes.py:451 |
POST |
/api/vault/literature/reviews/{review_id}/activities |
create_activity |
Literature | Depends(require_role('editor')) | Create activity | backend/api/literature_routes.py:473 |
GET |
/api/vault/literature/reviews/{review_id}/candidates |
list_candidates |
Literature | Depends(require_role('viewer')) | List candidates | backend/api/literature_routes.py:537 |
POST |
/api/vault/literature/reviews/{review_id}/candidates |
add_candidates |
Literature | Depends(require_role('editor')) | Add candidates | backend/api/literature_routes.py:518 |
POST |
/api/vault/literature/reviews/{review_id}/candidates/{candidate_id}/consensus |
resolve_conflict |
Literature | Depends(require_role('editor')) | Resolve conflict | backend/api/literature_routes.py:575 |
POST |
/api/vault/literature/reviews/{review_id}/candidates/{candidate_id}/decisions |
submit_decision |
Literature | Depends(require_role('editor')) | Submit decision | backend/api/literature_routes.py:554 |
PUT |
/api/vault/literature/reviews/{review_id}/candidates/{candidate_id}/full-text |
update_candidate_full_text |
Literature | Depends(require_role('editor')) | Update candidate full text | backend/api/literature_routes.py:595 |
GET |
/api/vault/literature/reviews/{review_id}/exports/{export_format} |
export_review |
Literature | Depends(require_role('editor')) | Export review | backend/api/literature_routes.py:728 |
PUT |
/api/vault/literature/reviews/{review_id}/schedule |
update_review_schedule |
Literature | Depends(require_role('editor')) | Update review schedule | backend/api/literature_routes.py:496 |
POST |
/api/vault/literature/reviews/{review_id}/snowball |
discover_review_citations |
Literature | Depends(require_role('editor')) | Discover review citations | backend/api/literature_routes.py:615 |
GET |
/api/vault/literature/searches |
list_searches |
Literature | Depends(require_role('viewer')) | List searches | backend/api/literature_routes.py:256 |
POST |
/api/vault/literature/searches |
create_search |
Literature | Depends(require_role('viewer')) | Create search | backend/api/literature_routes.py:272 |
DELETE |
/api/vault/literature/searches/{search_id} |
cancel_search |
Literature | Depends(require_role('viewer')) | Cancel search | backend/api/literature_routes.py:316 |
GET |
/api/vault/literature/searches/{search_id} |
get_search |
Literature | Depends(require_role('viewer')) | Get search | backend/api/literature_routes.py:296 |
GET |
/api/vault/literature/searches/{search_id}/events |
stream_search_events |
Literature | Depends(require_role('viewer')) | Stream search events | backend/api/literature_routes.py:344 |
GET |
/api/vault/literature/searches/{search_id}/results/{result_id} |
get_result |
Literature | Depends(require_role('viewer')) | Get result | backend/api/literature_routes.py:331 |
DELETE |
/api/vault/literature/synchronizations/{source_id} |
cancel_synchronization |
Literature | Depends(require_role('admin')) | Cancel synchronization | backend/api/literature_routes.py:225 |
GET |
/api/vault/literature/synchronizations/{source_id} |
get_synchronization |
Literature | Depends(require_role('viewer')) | Get synchronization | backend/api/literature_routes.py:210 |
POST |
/api/vault/literature/synchronizations/{source_id} |
start_synchronization |
Literature | Depends(require_role('admin')) | Start synchronization | backend/api/literature_routes.py:194 |
POST |
/api/vault/literature/synchronizations/{source_id}/resume |
resume_synchronization |
Literature | Depends(require_role('admin')) | Resume synchronization | backend/api/literature_routes.py:241 |
POST |
/api/vault/pages/{page_id}/share |
create_share_link |
Share | [Depends(require_role('editor')), Depends(require_plugins('share-links'))], Depends(get_workspace_context), Depends(get_mgmt_db) | Creates a public share link for a page. | backend/api/share_routes.py:121 |
GET |
/api/vault/pages/{page_id}/shares |
list_share_links |
Share | [Depends(require_role('viewer')), Depends(require_plugins('share-links'))], Depends(get_mgmt_db) | Lists the active (non-revoked, non-expired) share links for a page. | backend/api/share_routes.py:161 |
DELETE |
/api/vault/share/{token} |
revoke_share_link |
Share | [Depends(require_role('editor')), Depends(require_plugins('share-links'))], Depends(get_mgmt_db) | Revokes a share link (soft-delete: keeps the row for audit). | backend/api/share_routes.py:176 |
GET |
/api/vaults |
list_vaults |
Vaults | Depends(get_workspace_context), Depends(get_mgmt_db) | Workspace vaults + which one is active (the one resolved by X-Vault-Id or the main one). | backend/api/vaults_routes.py:184 |
POST |
/api/vaults |
create_vault |
Vaults | Depends(require_workspace_role('editor')), Depends(get_mgmt_db) | Creates a new vault (folder + row). Defaults to a sibling of the main vault. | backend/api/vaults_routes.py:227 |
POST |
/api/vaults/from-template |
create_vault_from_template |
Vault templates | [Depends(require_role('editor'))], Depends(get_workspace_context), Depends(get_mgmt_db) | Download, verify, stage, and register a Vault from the official catalog. | backend/api/vault_templates_routes.py:157 |
GET |
/api/vaults/templates/catalog |
list_template_catalog |
Vault templates | Depends(get_workspace_context) | Return the verified official template catalog without breaking offline use. | backend/api/vault_templates_routes.py:132 |
DELETE |
/api/vaults/{vault_id} |
delete_vault |
Vaults | [Depends(require_role('editor'))], Depends(get_workspace_context), Depends(get_mgmt_db) | Delete a vault registration and optionally its files with delete_files=true. |
backend/api/vaults_routes.py:322 |
PATCH |
/api/vaults/{vault_id} |
rename_vault |
Vaults | [Depends(require_role('editor'))], Depends(get_workspace_context), Depends(get_mgmt_db) | Change a vault's LOGICAL name (the DB row, not the disk folder). | backend/api/vaults_routes.py:282 |
POST |
/api/vaults/{vault_id}/template-export |
export_vault_template |
Vault templates | [Depends(require_role('editor'))], Depends(get_workspace_context), Depends(get_mgmt_db) | Download a deterministic privacy-filtered Vault template package. | backend/api/vault_templates_routes.py:268 |
GET |
/api/vaults/{vault_id}/template-export/preview |
preview_template_export |
Vault templates | [Depends(require_role('editor'))], Depends(get_workspace_context), Depends(get_mgmt_db) | Show the exact export allowlist, exclusions, and privacy findings. | backend/api/vault_templates_routes.py:228 |
POST |
/api/vaults/{vault_id}/template-submissions |
submit_vault_template |
Vault templates | [Depends(require_role('admin'))], Depends(get_workspace_context), Depends(get_mgmt_db) | Upload a template package to the configured moderation broker. | backend/api/vault_templates_routes.py:288 |
GET |
/api/workspaces |
list_workspaces |
Workspaces, workspaces | Depends(get_effective_user_id), Depends(get_mgmt_db) | List workspaces | backend/domains/workspace/api/routes.py:103 |
POST |
/api/workspaces |
create_workspace |
Workspaces, workspaces | Depends(get_effective_user_id), Depends(get_mgmt_db) | Create workspace | backend/domains/workspace/api/routes.py:43 |
GET |
/api/workspaces/{workspace_id} |
get_workspace |
Workspaces, workspaces | Depends(get_effective_user_id), Depends(get_mgmt_db) | Get workspace | backend/domains/workspace/api/routes.py:293 |
GET |
/api/workspaces/{workspace_id}/members |
list_workspace_members |
Workspaces, workspaces | Depends(get_mgmt_db), Depends(require_role('admin')) | List workspace members | backend/domains/workspace/api/routes.py:129 |
POST |
/api/workspaces/{workspace_id}/members |
add_workspace_member |
Workspaces, workspaces | Depends(get_mgmt_db), Depends(require_role('admin')) | Add workspace member | backend/domains/workspace/api/routes.py:212 |
DELETE |
/api/workspaces/{workspace_id}/members/{target_user_id} |
remove_workspace_member |
Workspaces, workspaces | Depends(get_mgmt_db), Depends(require_role('admin')) | Remove workspace member | backend/domains/workspace/api/routes.py:266 |
PUT |
/api/workspaces/{workspace_id}/members/{target_user_id}/role |
update_member_role |
Workspaces, workspaces | Depends(get_mgmt_db), Depends(require_role('admin')) | Update member role | backend/domains/workspace/api/routes.py:174 |
GET |
/api/workspaces/{workspace_id}/members/{user_id}/vaults |
list_member_vault_access |
Workspaces, workspaces | Depends(get_mgmt_db), Depends(require_role('admin')) | List member vault access | backend/domains/workspace/api/routes.py:344 |
POST |
/api/workspaces/{workspace_id}/members/{user_id}/vaults |
grant_vault_access |
Workspaces, workspaces | Depends(get_mgmt_db), Depends(require_role('admin')) | Grant vault access | backend/domains/workspace/api/routes.py:377 |
DELETE |
/api/workspaces/{workspace_id}/members/{user_id}/vaults/{vault_id} |
revoke_vault_access |
Workspaces, workspaces | Depends(get_mgmt_db), Depends(require_role('admin')) | Revoke vault access | backend/domains/workspace/api/routes.py:423 |
GET |
/api/workspaces/{workspace_id}/vaults |
list_workspace_vaults |
Workspaces, workspaces | Depends(get_mgmt_db), Depends(require_role('admin')) | List workspace vaults | backend/domains/workspace/api/routes.py:325 |
POST |
/correct |
correct_text |
— | — | Corrects spelling and grammar of a fragment using AI. | backend/domains/configuration/ai/content_routes.py:137 |
GET |
/databases |
list_databases |
— | [Depends(get_workspace_context)] | List databases | backend/domains/vault/tables/routes.py:69 |
POST |
/databases |
create_database |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Create database | backend/domains/vault/tables/routes.py:78 |
DELETE |
/databases/{database_id} |
delete_database |
— | [Depends(get_workspace_context)], [Depends(require_role('admin'))] | Delete database | backend/domains/vault/tables/routes.py:90 |
POST |
/generate |
generate_content |
— | — | One-shot AI text generation to insert into Vault pages. | backend/domains/configuration/ai/content_routes.py:84 |
POST |
/learning/draft |
create_learning_draft |
— | Depends(require_role('editor')) | Extract an editable draft from the caller's canonical private conversation. | backend/domains/configuration/agent/learning_routes.py:32 |
POST |
/learning/package/validate |
validate_learning_package |
— | Depends(require_role('viewer')) | Validate an imported text-only package without saving or assigning it. | backend/domains/configuration/agent/learning_routes.py:158 |
POST |
/learning/skills |
save_learned_skill |
— | Depends(require_role('admin')) | Publish the reviewed draft to the existing catalog, optionally assigning it. | backend/domains/configuration/agent/learning_routes.py:111 |
POST |
/learning/trial |
run_learning_trial |
— | Depends(require_role('editor')) | Run a new text case and a separate rubric review, without side effects. | backend/domains/configuration/agent/learning_routes.py:123 |
POST |
/model-parameters/review |
review_model_parameters |
— | Depends(require_role('admin')) | Review model parameters | backend/domains/configuration/ai/model_parameter_routes.py:19 |
GET |
/model-reasoning |
get_model_reasoning |
— | — | Public provider metadata, without accessing credentials or calling an LLM. | backend/domains/configuration/ai/model_metadata_routes.py:16 |
GET |
/option-catalogs |
list_option_catalogs |
— | [Depends(get_workspace_context)] | List option catalogs | backend/domains/vault/tables/routes.py:379 |
DELETE |
/option-catalogs/{name} |
delete_option_catalog |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Deletes a shared catalog. 409 if any field still references it. | backend/domains/vault/tables/routes.py:408 |
PUT |
/option-catalogs/{name} |
put_option_catalog |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Creates or replaces a shared catalog. Body: {options: [...]}. |
backend/domains/vault/tables/routes.py:388 |
GET |
/schema |
get_schema |
— | [Depends(get_workspace_context)] | Get schema | backend/domains/vault/tables/routes.py:538 |
POST |
/schema |
save_schema |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Legacy route to save schemas per folder. | backend/domains/vault/tables/routes.py:521 |
GET |
/shared-task-evaluations |
shared_bank |
— | — | Shared bank | backend/domains/agent/routes/task_evaluations.py:106 |
GET |
/skills/{skill_id}/package |
export_learning_package |
— | Depends(require_role('viewer')) | Export procedure, explicit examples and text resources, never private memory. | backend/domains/configuration/agent/learning_routes.py:141 |
GET |
/tables |
list_tables |
— | [Depends(get_workspace_context)] | List tables | backend/domains/vault/tables/routes.py:98 |
POST |
/tables |
create_table |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Create table | backend/domains/vault/tables/routes.py:118 |
DELETE |
/tables/{table_id} |
delete_table |
— | [Depends(get_workspace_context)], [Depends(require_role('admin'))] | Delete a table. | backend/domains/vault/tables/routes.py:157 |
PUT |
/tables/{table_id} |
rename_table |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Rename table | backend/domains/vault/tables/routes.py:189 |
POST |
/tables/{table_id}/options/remove |
remove_table_option |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Deletes an option from the catalog and from ALL rows that use it, clearing | backend/domains/vault/tables/routes.py:361 |
POST |
/tables/{table_id}/options/rename |
rename_table_option |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Renames an option in the catalog AND in all rows that use it (the | backend/domains/vault/tables/routes.py:339 |
GET |
/tables/{table_id}/options/usage |
table_option_usage |
— | [Depends(get_workspace_context)] | Usage counter per option (how many rows use each value) — feeds | backend/domains/vault/tables/routes.py:324 |
PATCH |
/tables/{table_id}/properties/{field_id} |
patch_table_property |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Renames or updates non-structural attributes of a property identified | backend/domains/vault/tables/routes.py:242 |
GET |
/task-evaluation-suite |
suite |
— | — | Suite | backend/domains/agent/routes/task_evaluations.py:18 |
GET |
/task-evaluations |
reports |
— | — | Reports | backend/domains/agent/routes/task_evaluations.py:47 |
POST |
/task-evaluations |
run |
— | — | Run | backend/domains/agent/routes/task_evaluations.py:65 |
POST |
/task-evaluations/preview |
preview |
— | — | Preview | backend/domains/agent/routes/task_evaluations.py:53 |
GET |
/task-evaluations/{report_id}/public-export |
public_export |
— | — | Public export | backend/domains/agent/routes/task_evaluations.py:119 |
POST |
/task-evaluations/{report_id}/review |
review |
— | — | Review | backend/domains/agent/routes/task_evaluations.py:95 |
GET |
/usage/dashboard |
usage_dashboard |
— | [Depends(bind_request_scope)] | Usage dashboard | backend/domains/configuration/ai/usage_routes.py:15 |
GET |
/usage/export |
usage_export |
— | [Depends(bind_request_scope)] | Usage export | backend/domains/configuration/ai/usage_routes.py:23 |
GET |
/usage/requests |
usage_requests |
— | [Depends(bind_request_scope)] | Usage requests | backend/domains/configuration/ai/usage_routes.py:19 |
GET |
/views |
list_views |
— | [Depends(get_workspace_context)] | List views | backend/domains/vault/tables/routes.py:433 |
POST |
/views |
create_view |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Create view | backend/domains/vault/tables/routes.py:443 |
PUT |
/views/order |
reorder_views |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Reorders a table's views according to the received order. | backend/domains/vault/tables/routes.py:452 |
DELETE |
/views/{view_id} |
delete_view |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Delete view | backend/domains/vault/tables/routes.py:487 |
GET |
/views/{view_id} |
get_view |
— | [Depends(get_workspace_context)] | Get view | backend/domains/vault/tables/routes.py:472 |
PUT |
/views/{view_id} |
update_view |
— | [Depends(get_workspace_context)], [Depends(require_role('editor'))] | Update view | backend/domains/vault/tables/routes.py:496 |
GET |
/views/{view_id}/usage |
get_view_usage |
— | [Depends(get_workspace_context)] | Find all pages/notes in the vault where this view_id is embedded or referenced. | backend/domains/vault/tables/routes.py:477 |
Módulos no registrados¶
These files contain an APIRouter or route-oriented module name but are not mounted by the FastAPI composition registry. They may be obsolete, imported indirectly, or under development and require human review.
backend/domains/agent/routes/runs.pybackend/domains/agent/routes/task_evaluations.pybackend/domains/configuration/agent/learning_project_routes.pybackend/domains/configuration/agent/learning_routes.pybackend/domains/configuration/ai/content_routes.pybackend/domains/configuration/ai/model_metadata_routes.pybackend/domains/configuration/ai/model_parameter_routes.pybackend/domains/configuration/ai/usage_routes.pybackend/domains/vault/knowledge/aliases.pybackend/domains/vault/tables/routes.py