Saltar a contenido

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 / Mail 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.