Self-hosted knowledge management for SMEs: a split-screen Markdown editor whose sections an LLM refines while you write, and RAG question answering over the documents that result. FastAPI + Postgres/pgvector on the back, SvelteKit on the front, everything OpenAI-compatible and self-hostable. Squashed into a single commit; the development history stays local. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CA43ZJda8Rbp2hKXNy8f6b
3582 lines
106 KiB
TypeScript
3582 lines
106 KiB
TypeScript
/**
|
|
* This file was auto-generated by openapi-typescript.
|
|
* Do not make direct changes to the file.
|
|
*/
|
|
|
|
export interface paths {
|
|
"/api/auth/login": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/** Login */
|
|
post: operations["login_api_auth_login_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/auth/logout": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/** Logout */
|
|
post: operations["logout_api_auth_logout_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/auth/me": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/** Me */
|
|
get: operations["me_api_auth_me_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/account/password": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/**
|
|
* Change Password
|
|
* @description Change your own password, proving the current one first.
|
|
*
|
|
* Every other session of this user is revoked — a
|
|
* password change is how someone reacts to a suspected compromise, so
|
|
* other devices must lose access. The session doing the change survives,
|
|
* otherwise the user is thrown out of the app they are standing in.
|
|
*/
|
|
post: operations["change_password_api_account_password_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/account/locale": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
/**
|
|
* Set Locale
|
|
* @description Pin the interface language, or clear it to follow the browser again.
|
|
*
|
|
* The backend only stores the choice — it never renders UI-language
|
|
* strings (see docs/architecture.md); the frontend does the translating.
|
|
*/
|
|
put: operations["set_locale_api_account_locale_put"];
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/account/document": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* Personal Document
|
|
* @description What the profile page needs to show: your document about yourself, or
|
|
* the way to start it. Self-scoped, and authorship is the whole rule — a
|
|
* document someone else wrote about you is not this.
|
|
*/
|
|
get: operations["personal_document_api_account_document_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/admin/llm/test": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/**
|
|
* Llm Test
|
|
* @description First-line support tool: pings all three roles, or one candidate
|
|
* configuration without persisting anything.
|
|
*/
|
|
post: operations["llm_test_api_admin_llm_test_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/admin/llm/settings": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/** Llm Settings */
|
|
get: operations["llm_settings_api_admin_llm_settings_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/admin/llm/settings/{role}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
/**
|
|
* Update Llm Setting
|
|
* @description Change a role's stored config and apply it without a restart.
|
|
*
|
|
* Writing a field marks it as changed here; resetting it writes back what
|
|
* `.env` currently says and marks it as coming from the environment
|
|
* again.
|
|
*/
|
|
put: operations["update_llm_setting_api_admin_llm_settings__role__put"];
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/admin/llm/models/{role}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/**
|
|
* Llm Models
|
|
* @description List what the endpoint serves, so the model field can be a dropdown.
|
|
*/
|
|
post: operations["llm_models_api_admin_llm_models__role__post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/admin/prompts": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* Prompt Settings
|
|
* @description Every editable system prompt with its effective text and whether it is
|
|
* still the shipped default.
|
|
*/
|
|
get: operations["prompt_settings_api_admin_prompts_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/admin/prompts/{key}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
/**
|
|
* Update Prompt Setting
|
|
* @description Override a system prompt (applied without a restart) or reset it to the
|
|
* shipped default. Resetting deletes the override row.
|
|
*/
|
|
put: operations["update_prompt_setting_api_admin_prompts__key__put"];
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/admin/users": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* List Users
|
|
* @description Paged, because the admin screen is the one place that scales with
|
|
* headcount: a company with two hundred employees would otherwise get two
|
|
* hundred rows and no way to find anyone.
|
|
*
|
|
* Departments deliberately stay unpaged: an SME has a handful, and a
|
|
* pager over five rows is furniture.
|
|
*/
|
|
get: operations["list_users_api_admin_users_get"];
|
|
put?: never;
|
|
/** Create User */
|
|
post: operations["create_user_api_admin_users_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/admin/users/{user_id}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
post?: never;
|
|
/**
|
|
* Delete User
|
|
* @description Offboarding: sessions and conversations cascade, documents survive
|
|
* with author set to NULL.
|
|
*/
|
|
delete: operations["delete_user_api_admin_users__user_id__delete"];
|
|
options?: never;
|
|
head?: never;
|
|
/** Update User */
|
|
patch: operations["update_user_api_admin_users__user_id__patch"];
|
|
trace?: never;
|
|
};
|
|
"/api/admin/departments": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/** Create Department */
|
|
post: operations["create_department_api_admin_departments_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/admin/departments/{department_id}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
post?: never;
|
|
/**
|
|
* Delete Department
|
|
* @description Delete a department. Members and owned documents survive with their
|
|
* `department_id` set to NULL, but this department's `doc_permissions` grants
|
|
* CASCADE away — silently dropping the shared read access they gave. Because
|
|
* that access loss is invisible, deleting a department that still has members,
|
|
* owned documents or grants requires `?confirm=true` (409 `department_in_use`
|
|
* otherwise).
|
|
*/
|
|
delete: operations["delete_department_api_admin_departments__department_id__delete"];
|
|
options?: never;
|
|
head?: never;
|
|
/** Rename Department */
|
|
patch: operations["rename_department_api_admin_departments__department_id__patch"];
|
|
trace?: never;
|
|
};
|
|
"/api/admin/metrics": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* Metrics Snapshot
|
|
* @description The in-process metrics registry as JSON.
|
|
*
|
|
* Per process by design (the app runs one worker), and admin-only: the
|
|
* counters name models and durations, which is operational detail rather
|
|
* than something to expose publicly.
|
|
*/
|
|
get: operations["metrics_snapshot_api_admin_metrics_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/conversations": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* List Conversations
|
|
* @description The sidebar list, newest activity first. The title is the first message,
|
|
* fetched as a correlated subquery so one statement answers the whole list.
|
|
*/
|
|
get: operations["list_conversations_api_conversations_get"];
|
|
put?: never;
|
|
/** Create Conversation */
|
|
post: operations["create_conversation_api_conversations_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/conversations/{conversation_id}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/** Get Conversation */
|
|
get: operations["get_conversation_api_conversations__conversation_id__get"];
|
|
put?: never;
|
|
post?: never;
|
|
/**
|
|
* Delete Conversation
|
|
* @description GDPR: users delete their own conversations; messages cascade.
|
|
*/
|
|
delete: operations["delete_conversation_api_conversations__conversation_id__delete"];
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/conversations/{conversation_id}/messages": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/** Send Message */
|
|
post: operations["send_message_api_conversations__conversation_id__messages_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/departments": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* List Departments
|
|
* @description Department names for filters and pickers — not secret, any user.
|
|
*/
|
|
get: operations["list_departments_api_departments_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* List Documents
|
|
* @description Browse readable documents.
|
|
*
|
|
* Paginated server-side: the list is the one screen that grows without
|
|
* bound as a knowledge base fills up. Search has its own endpoint and is
|
|
* ranked rather than paged.
|
|
*/
|
|
get: operations["list_documents_api_documents_get"];
|
|
put?: never;
|
|
/**
|
|
* Create Document
|
|
* @description Open a new document to write in.
|
|
*
|
|
* A `draft` is the author's private working copy: `readable_documents_filter`
|
|
* shows it to no one else (bar a colleague asked to check it) and only
|
|
* `published` documents are indexed, so a draft never reaches another user
|
|
* or an LLM prompt.
|
|
*/
|
|
post: operations["create_document_api_documents_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/search": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* Search Documents
|
|
* @description Find documents through the same hybrid retrieval the chat uses.
|
|
*
|
|
* Permission-safe by construction: `search()` requires a user and applies
|
|
* the shared filter. Drafts and pending documents are readable
|
|
* but never indexed, so a title fallback covers them — the one asymmetry
|
|
* between this endpoint and chat retrieval.
|
|
*/
|
|
get: operations["search_documents_api_documents_search_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/export": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* Export Documents
|
|
* @description The readable knowledge base as a ZIP of Markdown files with YAML
|
|
* frontmatter. Permission-filtered by construction (`readable_documents_filter`
|
|
* — an admin exports what they can read, anyone else the same); built-in help
|
|
* pages are excluded (product content, not the company's knowledge). stdlib
|
|
* only, streamed, no temp files.
|
|
*/
|
|
get: operations["export_documents_api_documents_export_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/stats": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* Document Stats
|
|
* @description Is this a fresh install or a filled one? Read by the landing page's
|
|
* first-run guide.
|
|
*/
|
|
get: operations["document_stats_api_documents_stats_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/{document_id}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/** Get Document */
|
|
get: operations["get_document_api_documents__document_id__get"];
|
|
put?: never;
|
|
post?: never;
|
|
/** Delete Document */
|
|
delete: operations["delete_document_api_documents__document_id__delete"];
|
|
options?: never;
|
|
head?: never;
|
|
/** Update Document */
|
|
patch: operations["update_document_api_documents__document_id__patch"];
|
|
trace?: never;
|
|
};
|
|
"/api/documents/{document_id}/history": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* Document History
|
|
* @description The document's audit trail, newest first: who changed or reviewed it,
|
|
* when, and whether a content snapshot exists to diff against. Same read gate
|
|
* as the document itself, so history never leaks to a user who cannot read the
|
|
* document.
|
|
*/
|
|
get: operations["document_history_api_documents__document_id__history_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/{document_id}/versions/{event_id}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* Document Version
|
|
* @description A single past version's frozen content plus the content it replaced, so
|
|
* the caller can show what this event changed. Same read gate as the
|
|
* document.
|
|
*/
|
|
get: operations["document_version_api_documents__document_id__versions__event_id__get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/{document_id}/publish": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/**
|
|
* Publish Document
|
|
* @description Make a draft readable and searchable for everyone its visibility allows.
|
|
*
|
|
* The author's own call — an open question about the content does not block
|
|
* it, it travels with the document instead (`open_reviews`), which is what
|
|
* lets a colleague read it AND know it is not settled.
|
|
*
|
|
* Author or admin, deliberately not every editor: a colleague asked to check
|
|
* a draft may fix what is wrong in it, but whether the company gets to read
|
|
* it at all is not their call.
|
|
*/
|
|
post: operations["publish_document_api_documents__document_id__publish_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/{document_id}/reviewers": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* List Reviewers
|
|
* @description Who can be asked: everyone who could read this document once published,
|
|
* minus the author. Permission-safe and non-admin (unlike /admin/users), and
|
|
* only id + name leave the server.
|
|
*/
|
|
get: operations["list_reviewers_api_documents__document_id__reviewers_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/{document_id}/reviews": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/**
|
|
* Request Review
|
|
* @description Ask a colleague to check this document, optionally about something
|
|
* specific. The request grants them the right to read and edit it until it
|
|
* is answered.
|
|
*/
|
|
post: operations["request_review_api_documents__document_id__reviews_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/{document_id}/reviews/{review_id}/resolve": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/**
|
|
* Resolve Review
|
|
* @description Answer a request: the content was checked.
|
|
*
|
|
* The reviewer answers their own request; the author (or an admin) can close
|
|
* one that has become moot, because a question nobody will answer should not
|
|
* mark a document forever.
|
|
*/
|
|
post: operations["resolve_review_api_documents__document_id__reviews__review_id__resolve_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/{document_id}/departments": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
/**
|
|
* Set Shared Departments
|
|
* @description Replace the full set of ADDITIONAL departments this document is shared
|
|
* with. Author or admin only.
|
|
*/
|
|
put: operations["set_shared_departments_api_documents__document_id__departments_put"];
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/{document_id}/suggest-title": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/**
|
|
* Suggest Title
|
|
* @description Suggest a concise title from the document's content (review step for a
|
|
* new document). Owner-scoped; content in, title out, nothing logged.
|
|
*/
|
|
post: operations["suggest_title_api_documents__document_id__suggest_title_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/suggest-similar": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/**
|
|
* Suggest Similar
|
|
* @description Existing documents that match the conversation a capture is starting
|
|
* from — found over an LLM TOPIC SUMMARY of the chat (not the raw last
|
|
* message), permission-filtered, help pages excluded. Empty list when the
|
|
* conversation is unknown, empty, or nothing is close enough.
|
|
*/
|
|
post: operations["suggest_similar_api_documents_suggest_similar_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/documents/{document_id}/refine": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/**
|
|
* Refine Section
|
|
* @description Stream a matured version of the section at the cursor.
|
|
*
|
|
* SSE frames: one `section` frame with the exact line range the suggestion
|
|
* replaces, then `token` frames, then `done` (or `error`).
|
|
*/
|
|
post: operations["refine_section_api_documents__document_id__refine_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/people": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* List People
|
|
* @description Every colleague, ordered by name. Visible to any authenticated user.
|
|
*/
|
|
get: operations["list_people_api_people_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/people/{person_id}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* Get Person
|
|
* @description One colleague's profile.
|
|
*/
|
|
get: operations["get_person_api_people__person_id__get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/templates/catalog": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* List Catalog
|
|
* @description The blueprints shipped with Pablan, each marked with whether this
|
|
* instance has already added it.
|
|
*/
|
|
get: operations["list_catalog_api_templates_catalog_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/templates/catalog/{catalog_id}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* Get Catalog Blueprint
|
|
* @description Read a blueprint before adding it — the whole point of "view" is that
|
|
* an admin can see its structure before committing to it.
|
|
*/
|
|
get: operations["get_catalog_blueprint_api_templates_catalog__catalog_id__get"];
|
|
put?: never;
|
|
/**
|
|
* Add From Catalog
|
|
* @description Copy a blueprint into this instance. The result is an ordinary
|
|
* template row: editable, and never touched by the catalog again.
|
|
*/
|
|
post: operations["add_from_catalog_api_templates_catalog__catalog_id__post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/templates/build": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/**
|
|
* Build Template
|
|
* @description Save a template from the structured form builder. Creates a new row
|
|
* (template_id null) or updates one in place.
|
|
*/
|
|
post: operations["build_template_api_templates_build_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/templates/{template_id}": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/** Get Template */
|
|
get: operations["get_template_api_templates__template_id__get"];
|
|
/**
|
|
* Update Template
|
|
* @description Replace a template's YAML. Validated against the schema on save.
|
|
*/
|
|
put: operations["update_template_api_templates__template_id__put"];
|
|
post?: never;
|
|
/**
|
|
* Delete Template
|
|
* @description Remove a template. Documents created from it are independent and
|
|
* survive (a template is only a starting point). If it came from the
|
|
* catalog it can always be added back.
|
|
*/
|
|
delete: operations["delete_template_api_templates__template_id__delete"];
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/templates/{template_id}/duplicate": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get?: never;
|
|
put?: never;
|
|
/**
|
|
* Duplicate Template
|
|
* @description Fork a template — for trying a variant without losing the original.
|
|
* The copy gets a fresh config id so the two never collide.
|
|
*/
|
|
post: operations["duplicate_template_api_templates__template_id__duplicate_post"];
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/templates": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/**
|
|
* List Templates
|
|
* @description Templates the picker offers. Templates in the reader's language come
|
|
* first — they are customer content, so a mismatched one is still listed
|
|
* rather than hidden.
|
|
*/
|
|
get: operations["list_templates_api_templates_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/health": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
/** Health */
|
|
get: operations["health_api_health_get"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
}
|
|
export type webhooks = Record<string, never>;
|
|
export interface components {
|
|
schemas: {
|
|
/**
|
|
* AccessReason
|
|
* @description Why a document is visible to the requesting user.
|
|
*
|
|
* API-only (never stored): computed per request so the UI can explain
|
|
* access instead of leaving visibility rules implicit.
|
|
* @enum {string}
|
|
*/
|
|
AccessReason: "author" | "public" | "department" | "granted" | "review";
|
|
/** AdminDepartmentOut */
|
|
AdminDepartmentOut: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Name */
|
|
name: string;
|
|
};
|
|
/** AdminUserOut */
|
|
AdminUserOut: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Email */
|
|
email: string;
|
|
/** Name */
|
|
name: string;
|
|
role: components["schemas"]["UserRole"];
|
|
/** Department Id */
|
|
department_id: string | null;
|
|
};
|
|
/** AdminUserPage */
|
|
AdminUserPage: {
|
|
/** Items */
|
|
items: components["schemas"]["AdminUserOut"][];
|
|
/** Total */
|
|
total: number;
|
|
/** Per Page */
|
|
per_page: number;
|
|
};
|
|
/** AuthoringTemplate */
|
|
AuthoringTemplate: {
|
|
/** Id */
|
|
id: string;
|
|
/** Name */
|
|
name: string;
|
|
/** Version */
|
|
version: string;
|
|
/**
|
|
* Kind
|
|
* @default authoring
|
|
* @constant
|
|
*/
|
|
kind: "authoring";
|
|
/** Locale */
|
|
locale?: ("de" | "en") | null;
|
|
/**
|
|
* Description
|
|
* @default
|
|
*/
|
|
description: string;
|
|
/**
|
|
* @default {
|
|
* "temperature": 0.4
|
|
* }
|
|
*/
|
|
model: components["schemas"]["TemplateModelHints"];
|
|
/** Persona */
|
|
persona: string;
|
|
/** Skeleton */
|
|
skeleton: string;
|
|
/**
|
|
* Sections
|
|
* @default []
|
|
*/
|
|
sections: components["schemas"]["SectionHint"][];
|
|
/** Title Template */
|
|
title_template: string;
|
|
/**
|
|
* @default {
|
|
* "visibility": "department"
|
|
* }
|
|
*/
|
|
metadata: components["schemas"]["TemplateMetadata"];
|
|
};
|
|
/** CatalogDetail */
|
|
CatalogDetail: {
|
|
/** Id */
|
|
id: string;
|
|
/** Name */
|
|
name: string;
|
|
/** Description */
|
|
description: string;
|
|
/** Sections */
|
|
sections: number;
|
|
/** Added */
|
|
added: boolean;
|
|
/** Yaml */
|
|
yaml: string;
|
|
};
|
|
/**
|
|
* CatalogSummary
|
|
* @description A blueprint on disk. `id` is the config id, NOT a row id — a catalog
|
|
* entry has no row until someone adds it.
|
|
*/
|
|
CatalogSummary: {
|
|
/** Id */
|
|
id: string;
|
|
/** Name */
|
|
name: string;
|
|
/** Description */
|
|
description: string;
|
|
/** Sections */
|
|
sections: number;
|
|
/** Added */
|
|
added: boolean;
|
|
};
|
|
/** ConversationCreate */
|
|
ConversationCreate: {
|
|
mode: components["schemas"]["ConversationMode"];
|
|
};
|
|
/** ConversationDetail */
|
|
ConversationDetail: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Title */
|
|
title?: string | null;
|
|
/**
|
|
* Messages
|
|
* @default []
|
|
*/
|
|
messages: components["schemas"]["MessageOut"][];
|
|
};
|
|
/**
|
|
* ConversationMode
|
|
* @enum {string}
|
|
*/
|
|
ConversationMode: "query" | "insight";
|
|
/** ConversationSummary */
|
|
ConversationSummary: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Title */
|
|
title?: string | null;
|
|
};
|
|
/** DepartmentCreate */
|
|
DepartmentCreate: {
|
|
/** Name */
|
|
name: string;
|
|
};
|
|
/** DepartmentOut */
|
|
DepartmentOut: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Name */
|
|
name: string;
|
|
};
|
|
/** DepartmentRef */
|
|
DepartmentRef: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Name */
|
|
name: string;
|
|
};
|
|
/**
|
|
* DocumentCreate
|
|
* @description Start a new document the user will write in the editor.
|
|
*
|
|
* With a `template_id` the draft opens on that template's Markdown skeleton
|
|
* and title; without one it starts blank and `title` is required. The result
|
|
* is a `draft` — author-only and never indexed until it is published.
|
|
*/
|
|
DocumentCreate: {
|
|
/** Template Id */
|
|
template_id?: string | null;
|
|
/** Title */
|
|
title?: string | null;
|
|
visibility?: components["schemas"]["DocumentVisibility"] | null;
|
|
/** Conversation Id */
|
|
conversation_id?: string | null;
|
|
};
|
|
/**
|
|
* DocumentDepartments
|
|
* @description The full set of ADDITIONAL departments the document is shared with (on
|
|
* top of the owning department) — replaces the existing grants.
|
|
*/
|
|
DocumentDepartments: {
|
|
/** Department Ids */
|
|
department_ids: string[];
|
|
/** Confirm Lockout */
|
|
confirm_lockout?: boolean | null;
|
|
};
|
|
/** DocumentDetail */
|
|
DocumentDetail: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Title */
|
|
title: string;
|
|
status: components["schemas"]["DocumentStatus"];
|
|
visibility: components["schemas"]["DocumentVisibility"];
|
|
/** Department Id */
|
|
department_id: string | null;
|
|
/**
|
|
* Created At
|
|
* Format: date-time
|
|
*/
|
|
created_at: string;
|
|
/**
|
|
* Updated At
|
|
* Format: date-time
|
|
*/
|
|
updated_at: string;
|
|
access_reason: components["schemas"]["AccessReason"];
|
|
/** Can Edit */
|
|
can_edit: boolean;
|
|
/** Open Reviews */
|
|
open_reviews: number;
|
|
/** Is Builtin */
|
|
is_builtin: boolean;
|
|
/** Content Md */
|
|
content_md: string;
|
|
/**
|
|
* Reviews
|
|
* @default []
|
|
*/
|
|
reviews: components["schemas"]["ReviewOut"][];
|
|
/**
|
|
* Shared Departments
|
|
* @default []
|
|
*/
|
|
shared_departments: components["schemas"]["DepartmentRef"][];
|
|
};
|
|
/**
|
|
* DocumentEventAction
|
|
* @description A recorded step in a document's audit history.
|
|
*
|
|
* Content-bearing actions (created / edited) snapshot the Markdown source of
|
|
* truth; the rest record only who did what and when.
|
|
* @enum {string}
|
|
*/
|
|
DocumentEventAction: "created" | "edited" | "published" | "archived" | "visibility_changed" | "review_requested" | "review_resolved";
|
|
/**
|
|
* DocumentEventOut
|
|
* @description One entry in a document's history timeline — metadata only.
|
|
*/
|
|
DocumentEventOut: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
action: components["schemas"]["DocumentEventAction"];
|
|
/** Actor Id */
|
|
actor_id: string | null;
|
|
/** Actor Name */
|
|
actor_name: string | null;
|
|
visibility: components["schemas"]["DocumentVisibility"] | null;
|
|
/**
|
|
* Created At
|
|
* Format: date-time
|
|
*/
|
|
created_at: string;
|
|
/** Has Snapshot */
|
|
has_snapshot: boolean;
|
|
};
|
|
/** DocumentPage */
|
|
DocumentPage: {
|
|
/** Items */
|
|
items: components["schemas"]["DocumentSummary"][];
|
|
/** Total */
|
|
total: number;
|
|
/** Per Page */
|
|
per_page: number;
|
|
};
|
|
/**
|
|
* DocumentSearchHit
|
|
* @description A search result: the document plus the section that matched.
|
|
*
|
|
* Empty `heading_path` means the match was on the title, not a section.
|
|
*/
|
|
DocumentSearchHit: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Title */
|
|
title: string;
|
|
status: components["schemas"]["DocumentStatus"];
|
|
visibility: components["schemas"]["DocumentVisibility"];
|
|
/** Department Id */
|
|
department_id: string | null;
|
|
/**
|
|
* Created At
|
|
* Format: date-time
|
|
*/
|
|
created_at: string;
|
|
/**
|
|
* Updated At
|
|
* Format: date-time
|
|
*/
|
|
updated_at: string;
|
|
access_reason: components["schemas"]["AccessReason"];
|
|
/** Can Edit */
|
|
can_edit: boolean;
|
|
/** Open Reviews */
|
|
open_reviews: number;
|
|
/** Is Builtin */
|
|
is_builtin: boolean;
|
|
/**
|
|
* Heading Path
|
|
* @default
|
|
*/
|
|
heading_path: string;
|
|
};
|
|
/**
|
|
* DocumentSort
|
|
* @description How the browse list is ordered. Deliberately two options: "what
|
|
* changed" and "what is new" are the two questions people actually ask of
|
|
* a document list.
|
|
* @enum {string}
|
|
*/
|
|
DocumentSort: "updated" | "created";
|
|
/**
|
|
* DocumentStats
|
|
* @description Company-wide counts, read by the landing page's first-run guide.
|
|
*
|
|
* Aggregates only — no titles, no per-user data. Deliberately not
|
|
* permission-filtered: a bare count reveals nothing about content.
|
|
*/
|
|
DocumentStats: {
|
|
/** Documents Total */
|
|
documents_total: number;
|
|
/** Departments Total */
|
|
departments_total: number;
|
|
};
|
|
/**
|
|
* DocumentStatus
|
|
* @description Where a document stands.
|
|
*
|
|
* Three states, because publishing is the author's own decision: a draft is
|
|
* private, a published document is visible and indexed, an archived one is
|
|
* neither. Uncertainty about CONTENT is not a status — it is an open review
|
|
* request (`ReviewRequest`), which can sit on a published document too.
|
|
* @enum {string}
|
|
*/
|
|
DocumentStatus: "draft" | "published" | "archived";
|
|
/** DocumentSummary */
|
|
DocumentSummary: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Title */
|
|
title: string;
|
|
status: components["schemas"]["DocumentStatus"];
|
|
visibility: components["schemas"]["DocumentVisibility"];
|
|
/** Department Id */
|
|
department_id: string | null;
|
|
/**
|
|
* Created At
|
|
* Format: date-time
|
|
*/
|
|
created_at: string;
|
|
/**
|
|
* Updated At
|
|
* Format: date-time
|
|
*/
|
|
updated_at: string;
|
|
access_reason: components["schemas"]["AccessReason"];
|
|
/** Can Edit */
|
|
can_edit: boolean;
|
|
/** Open Reviews */
|
|
open_reviews: number;
|
|
/** Is Builtin */
|
|
is_builtin: boolean;
|
|
};
|
|
/** DocumentUpdate */
|
|
DocumentUpdate: {
|
|
/** Title */
|
|
title?: string | null;
|
|
/** Content Md */
|
|
content_md?: string | null;
|
|
visibility?: components["schemas"]["DocumentVisibility"] | null;
|
|
status?: components["schemas"]["DocumentStatus"] | null;
|
|
/** Confirm Lockout */
|
|
confirm_lockout?: boolean | null;
|
|
/** Conversation Id */
|
|
conversation_id?: string | null;
|
|
};
|
|
/**
|
|
* DocumentVersion
|
|
* @description A past version's frozen content, for viewing or diffing.
|
|
*
|
|
* A snapshot is taken *after* its event, so `content_md` is the state this
|
|
* event produced and `previous_content_md` the state it started from — the
|
|
* pair is what "what did this change do?" needs. `previous_content_md` is
|
|
* null for the first snapshot, where everything was added.
|
|
*/
|
|
DocumentVersion: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
action: components["schemas"]["DocumentEventAction"];
|
|
/** Actor Id */
|
|
actor_id: string | null;
|
|
/** Actor Name */
|
|
actor_name: string | null;
|
|
/**
|
|
* Created At
|
|
* Format: date-time
|
|
*/
|
|
created_at: string;
|
|
/** Title */
|
|
title: string | null;
|
|
/** Content Md */
|
|
content_md: string | null;
|
|
/** Previous Content Md */
|
|
previous_content_md: string | null;
|
|
visibility: components["schemas"]["DocumentVisibility"] | null;
|
|
};
|
|
/**
|
|
* DocumentVisibility
|
|
* @enum {string}
|
|
*/
|
|
DocumentVisibility: "public" | "department" | "restricted";
|
|
/** HTTPValidationError */
|
|
HTTPValidationError: {
|
|
/** Detail */
|
|
detail?: components["schemas"]["ValidationError"][];
|
|
};
|
|
/**
|
|
* LLMModelsRequest
|
|
* @description Optional candidate endpoint, so an admin can list the models of a
|
|
* URL they have typed but not saved.
|
|
*/
|
|
LLMModelsRequest: {
|
|
/** Base Url */
|
|
base_url?: string | null;
|
|
/** Api Key */
|
|
api_key?: string | null;
|
|
};
|
|
/** LLMModelsResponse */
|
|
LLMModelsResponse: {
|
|
/** Models */
|
|
models: string[];
|
|
/** Supported */
|
|
supported: boolean;
|
|
/** Error */
|
|
error?: string | null;
|
|
};
|
|
/** LLMRoleStatus */
|
|
LLMRoleStatus: {
|
|
/**
|
|
* Role
|
|
* @enum {string}
|
|
*/
|
|
role: "chat" | "utility" | "embedding";
|
|
/** Ok */
|
|
ok: boolean;
|
|
/** Base Url */
|
|
base_url: string;
|
|
/** Model */
|
|
model: string;
|
|
/** Latency Ms */
|
|
latency_ms: number | null;
|
|
/** Code */
|
|
code: string | null;
|
|
/** Error */
|
|
error: string | null;
|
|
};
|
|
/**
|
|
* LLMSettingOut
|
|
* @description Stored config for one role.
|
|
*
|
|
* The api_key is NEVER returned — only whether one is set, and where each
|
|
* field's value came from. `*_from_env` drives the per-field
|
|
* "taken from .env" / "changed here" label and the reset action; it is
|
|
* provenance, not a fallback.
|
|
*/
|
|
LLMSettingOut: {
|
|
/**
|
|
* Role
|
|
* @enum {string}
|
|
*/
|
|
role: "chat" | "utility" | "embedding";
|
|
/** Base Url */
|
|
base_url: string;
|
|
/** Model */
|
|
model: string;
|
|
/** Base Url From Env */
|
|
base_url_from_env: boolean;
|
|
/** Model From Env */
|
|
model_from_env: boolean;
|
|
/** Api Key Set */
|
|
api_key_set: boolean;
|
|
/** Api Key From Env */
|
|
api_key_from_env: boolean;
|
|
};
|
|
/** LLMSettingUpdate */
|
|
LLMSettingUpdate: {
|
|
/** Base Url */
|
|
base_url?: string | null;
|
|
/** Model */
|
|
model?: string | null;
|
|
/** Api Key */
|
|
api_key?: string | null;
|
|
/** Reset Base Url */
|
|
reset_base_url?: boolean | null;
|
|
/** Reset Model */
|
|
reset_model?: boolean | null;
|
|
/** Reset Api Key */
|
|
reset_api_key?: boolean | null;
|
|
};
|
|
/**
|
|
* LLMTestRequest
|
|
* @description Optional candidate config: test an endpoint BEFORE saving it.
|
|
*/
|
|
LLMTestRequest: {
|
|
/** Role */
|
|
role?: ("chat" | "utility" | "embedding") | null;
|
|
/** Base Url */
|
|
base_url?: string | null;
|
|
/** Model */
|
|
model?: string | null;
|
|
/** Api Key */
|
|
api_key?: string | null;
|
|
};
|
|
/** LLMTestResponse */
|
|
LLMTestResponse: {
|
|
/** Roles */
|
|
roles: components["schemas"]["LLMRoleStatus"][];
|
|
};
|
|
/**
|
|
* LocalePreference
|
|
* @description The languages the interface ships in — the frontend bundles must
|
|
* cover exactly these.
|
|
*/
|
|
LocalePreference: {
|
|
/** Locale */
|
|
locale?: ("de" | "en") | null;
|
|
};
|
|
/** LoginRequest */
|
|
LoginRequest: {
|
|
/** Email */
|
|
email: string;
|
|
/** Password */
|
|
password: string;
|
|
};
|
|
/** MessageOut */
|
|
MessageOut: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
role: components["schemas"]["MessageRole"];
|
|
/** Content */
|
|
content: string;
|
|
/**
|
|
* Created At
|
|
* Format: date-time
|
|
*/
|
|
created_at: string;
|
|
/**
|
|
* Sources
|
|
* @default []
|
|
*/
|
|
sources: components["schemas"]["MessageSource"][];
|
|
/** Fallback */
|
|
fallback?: string | null;
|
|
};
|
|
/**
|
|
* MessageRole
|
|
* @enum {string}
|
|
*/
|
|
MessageRole: "user" | "assistant" | "system";
|
|
/** MessageSource */
|
|
MessageSource: {
|
|
/**
|
|
* Document Id
|
|
* Format: uuid
|
|
*/
|
|
document_id: string;
|
|
/** Title */
|
|
title: string;
|
|
/** Heading Path */
|
|
heading_path: string;
|
|
/**
|
|
* Excerpt
|
|
* @default
|
|
*/
|
|
excerpt: string;
|
|
/**
|
|
* Used
|
|
* @default true
|
|
*/
|
|
used: boolean;
|
|
/**
|
|
* Review Pending
|
|
* @default false
|
|
*/
|
|
review_pending: boolean;
|
|
};
|
|
/** PasswordChange */
|
|
PasswordChange: {
|
|
/** Current Password */
|
|
current_password: string;
|
|
/** New Password */
|
|
new_password: string;
|
|
};
|
|
/**
|
|
* PersonOut
|
|
* @description A colleague as the directory shows them — never email or credentials.
|
|
*/
|
|
PersonOut: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Name */
|
|
name: string;
|
|
role: components["schemas"]["UserRole"];
|
|
/** Department */
|
|
department: string | null;
|
|
};
|
|
/**
|
|
* PersonalDocument
|
|
* @description The caller's own document about themselves.
|
|
*
|
|
* Either they wrote one — then it is opened and edited like any other
|
|
* document — or they have not, and `template_id` says what to start it from.
|
|
* Both are null when the blueprint is not in this instance and nothing was
|
|
* written yet; the frontend falls back to the ordinary template picker.
|
|
*/
|
|
PersonalDocument: {
|
|
/** Document Id */
|
|
document_id?: string | null;
|
|
/** Title */
|
|
title?: string | null;
|
|
status?: components["schemas"]["DocumentStatus"] | null;
|
|
/** Template Id */
|
|
template_id?: string | null;
|
|
};
|
|
/** PromptSettingOut */
|
|
PromptSettingOut: {
|
|
/** Key */
|
|
key: string;
|
|
/** Content */
|
|
content: string;
|
|
/** Is Default */
|
|
is_default: boolean;
|
|
};
|
|
/** PromptSettingUpdate */
|
|
PromptSettingUpdate: {
|
|
/** Content */
|
|
content?: string | null;
|
|
/** Reset */
|
|
reset?: boolean | null;
|
|
};
|
|
/** RefineRequest */
|
|
RefineRequest: {
|
|
/** Content Md */
|
|
content_md: string;
|
|
/** Cursor Line */
|
|
cursor_line: number;
|
|
};
|
|
/**
|
|
* ReviewOut
|
|
* @description One request to check this document. Open while `resolved_at` is null.
|
|
*/
|
|
ReviewOut: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Question */
|
|
question: string | null;
|
|
/** Requester Name */
|
|
requester_name: string | null;
|
|
/** Reviewer Id */
|
|
reviewer_id: string | null;
|
|
/** Reviewer Name */
|
|
reviewer_name: string | null;
|
|
/**
|
|
* Created At
|
|
* Format: date-time
|
|
*/
|
|
created_at: string;
|
|
/** Resolved At */
|
|
resolved_at: string | null;
|
|
/** Resolved By Name */
|
|
resolved_by_name: string | null;
|
|
/** Is Mine */
|
|
is_mine: boolean;
|
|
};
|
|
/**
|
|
* ReviewRequestBody
|
|
* @description Ask someone to check this document, optionally about something specific
|
|
* ("do the holiday numbers still hold?").
|
|
*/
|
|
ReviewRequestBody: {
|
|
/**
|
|
* Reviewer Id
|
|
* Format: uuid
|
|
*/
|
|
reviewer_id: string;
|
|
/** Question */
|
|
question?: string | null;
|
|
};
|
|
/**
|
|
* ReviewerCandidate
|
|
* @description A user the author may ask to check a document — id + name only.
|
|
*/
|
|
ReviewerCandidate: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Name */
|
|
name: string;
|
|
};
|
|
/**
|
|
* SectionHint
|
|
* @description Steers what the refinement model should draw out of one section.
|
|
*
|
|
* `heading` is matched to a skeleton heading by its exact text, so the hint
|
|
* only reaches the model while the author is writing under that heading.
|
|
*/
|
|
SectionHint: {
|
|
/** Heading */
|
|
heading: string;
|
|
/** Hint */
|
|
hint: string;
|
|
};
|
|
/** SendMessage */
|
|
SendMessage: {
|
|
/** Content */
|
|
content: string;
|
|
};
|
|
/** SimilarDocumentOut */
|
|
SimilarDocumentOut: {
|
|
/**
|
|
* Document Id
|
|
* Format: uuid
|
|
*/
|
|
document_id: string;
|
|
/** Title */
|
|
title: string;
|
|
};
|
|
/** SuggestSimilarRequest */
|
|
SuggestSimilarRequest: {
|
|
/**
|
|
* Conversation Id
|
|
* Format: uuid
|
|
*/
|
|
conversation_id: string;
|
|
};
|
|
/**
|
|
* TemplateBuildRequest
|
|
* @description A template assembled by the form builder. The config is the same schema
|
|
* a pasted YAML parses into, so both paths get one validation guarantee —
|
|
* the frontend has no YAML library and must not gain one, so it sends the
|
|
* structured config instead of serializing it.
|
|
*/
|
|
TemplateBuildRequest: {
|
|
/** Template Id */
|
|
template_id?: string | null;
|
|
config: components["schemas"]["AuthoringTemplate"];
|
|
};
|
|
/** TemplateDetail */
|
|
TemplateDetail: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Config Id */
|
|
config_id: string;
|
|
/** Name */
|
|
name: string;
|
|
/** Version */
|
|
version: string;
|
|
/**
|
|
* Description
|
|
* @default
|
|
*/
|
|
description: string;
|
|
/** Config */
|
|
config: {
|
|
[key: string]: unknown;
|
|
};
|
|
/** Yaml */
|
|
yaml: string;
|
|
};
|
|
/** TemplateImportRequest */
|
|
TemplateImportRequest: {
|
|
/** Yaml */
|
|
yaml: string;
|
|
};
|
|
/** TemplateMetadata */
|
|
TemplateMetadata: {
|
|
/**
|
|
* Visibility
|
|
* @default department
|
|
* @enum {string}
|
|
*/
|
|
visibility: "public" | "department" | "restricted";
|
|
};
|
|
/** TemplateModelHints */
|
|
TemplateModelHints: {
|
|
/**
|
|
* Temperature
|
|
* @default 0.4
|
|
*/
|
|
temperature: number;
|
|
/** Min Class Hint */
|
|
min_class_hint?: string | null;
|
|
};
|
|
/** TemplateSummary */
|
|
TemplateSummary: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Config Id */
|
|
config_id: string;
|
|
/** Name */
|
|
name: string;
|
|
/** Version */
|
|
version: string;
|
|
/**
|
|
* Description
|
|
* @default
|
|
*/
|
|
description: string;
|
|
};
|
|
/** TitleSuggestion */
|
|
TitleSuggestion: {
|
|
/** Title */
|
|
title: string;
|
|
};
|
|
/** UserCreate */
|
|
UserCreate: {
|
|
/** Email */
|
|
email: string;
|
|
/** Name */
|
|
name: string;
|
|
/** @default member */
|
|
role: components["schemas"]["UserRole"];
|
|
/** Department Id */
|
|
department_id?: string | null;
|
|
/** Password */
|
|
password: string;
|
|
};
|
|
/** UserOut */
|
|
UserOut: {
|
|
/**
|
|
* Id
|
|
* Format: uuid
|
|
*/
|
|
id: string;
|
|
/** Email */
|
|
email: string;
|
|
/** Name */
|
|
name: string;
|
|
role: components["schemas"]["UserRole"];
|
|
/** Department Id */
|
|
department_id: string | null;
|
|
/** Locale */
|
|
locale?: ("de" | "en") | null;
|
|
};
|
|
/**
|
|
* UserRole
|
|
* @enum {string}
|
|
*/
|
|
UserRole: "member" | "admin";
|
|
/** UserUpdate */
|
|
UserUpdate: {
|
|
/** Name */
|
|
name?: string | null;
|
|
/** Email */
|
|
email?: string | null;
|
|
role?: components["schemas"]["UserRole"] | null;
|
|
/** Department Id */
|
|
department_id?: string | null;
|
|
/** Clear Department */
|
|
clear_department?: boolean | null;
|
|
/** Password */
|
|
password?: string | null;
|
|
};
|
|
/** ValidationError */
|
|
ValidationError: {
|
|
/** Location */
|
|
loc: (string | number)[];
|
|
/** Message */
|
|
msg: string;
|
|
/** Error Type */
|
|
type: string;
|
|
/** Input */
|
|
input?: unknown;
|
|
/** Context */
|
|
ctx?: Record<string, never>;
|
|
};
|
|
};
|
|
responses: never;
|
|
parameters: never;
|
|
requestBodies: never;
|
|
headers: never;
|
|
pathItems: never;
|
|
}
|
|
export type $defs = Record<string, never>;
|
|
export interface operations {
|
|
login_api_auth_login_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["LoginRequest"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["UserOut"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
logout_api_auth_logout_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
204: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content?: never;
|
|
};
|
|
};
|
|
};
|
|
me_api_auth_me_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["UserOut"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
change_password_api_account_password_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["PasswordChange"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
204: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content?: never;
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
set_locale_api_account_locale_put: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["LocalePreference"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
204: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content?: never;
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
personal_document_api_account_document_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["PersonalDocument"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
llm_test_api_admin_llm_test_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: {
|
|
content: {
|
|
"application/json": components["schemas"]["LLMTestRequest"] | null;
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["LLMTestResponse"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
llm_settings_api_admin_llm_settings_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["LLMSettingOut"][];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
update_llm_setting_api_admin_llm_settings__role__put: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
role: "chat" | "utility" | "embedding";
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["LLMSettingUpdate"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["LLMSettingOut"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
llm_models_api_admin_llm_models__role__post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
role: "chat" | "utility" | "embedding";
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: {
|
|
content: {
|
|
"application/json": components["schemas"]["LLMModelsRequest"] | null;
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["LLMModelsResponse"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
prompt_settings_api_admin_prompts_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["PromptSettingOut"][];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
update_prompt_setting_api_admin_prompts__key__put: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
key: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["PromptSettingUpdate"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["PromptSettingOut"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
list_users_api_admin_users_get: {
|
|
parameters: {
|
|
query?: {
|
|
search?: string | null;
|
|
page?: number;
|
|
per_page?: number;
|
|
};
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["AdminUserPage"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
create_user_api_admin_users_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["UserCreate"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["AdminUserOut"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
delete_user_api_admin_users__user_id__delete: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
user_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
204: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content?: never;
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
update_user_api_admin_users__user_id__patch: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
user_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["UserUpdate"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["AdminUserOut"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
create_department_api_admin_departments_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["DepartmentCreate"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["AdminDepartmentOut"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
delete_department_api_admin_departments__department_id__delete: {
|
|
parameters: {
|
|
query?: {
|
|
confirm?: boolean;
|
|
};
|
|
header?: never;
|
|
path: {
|
|
department_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
204: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content?: never;
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
rename_department_api_admin_departments__department_id__patch: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
department_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["DepartmentCreate"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["AdminDepartmentOut"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
metrics_snapshot_api_admin_metrics_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": {
|
|
[key: string]: unknown;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
list_conversations_api_conversations_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ConversationSummary"][];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
create_conversation_api_conversations_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["ConversationCreate"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ConversationSummary"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
get_conversation_api_conversations__conversation_id__get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
conversation_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ConversationDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
delete_conversation_api_conversations__conversation_id__delete: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
conversation_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
204: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content?: never;
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
send_message_api_conversations__conversation_id__messages_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
conversation_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["SendMessage"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": unknown;
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
list_departments_api_departments_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DepartmentOut"][];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
list_documents_api_documents_get: {
|
|
parameters: {
|
|
query?: {
|
|
department?: string | null;
|
|
status?: components["schemas"]["DocumentStatus"] | null;
|
|
assigned_to_me?: boolean;
|
|
search?: string | null;
|
|
sort?: components["schemas"]["DocumentSort"];
|
|
page?: number;
|
|
per_page?: number;
|
|
};
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentPage"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
create_document_api_documents_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentCreate"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
201: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
search_documents_api_documents_search_get: {
|
|
parameters: {
|
|
query: {
|
|
q: string;
|
|
};
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentSearchHit"][];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
export_documents_api_documents_export_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": unknown;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
document_stats_api_documents_stats_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentStats"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
get_document_api_documents__document_id__get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
delete_document_api_documents__document_id__delete: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
204: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content?: never;
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
update_document_api_documents__document_id__patch: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentUpdate"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
document_history_api_documents__document_id__history_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentEventOut"][];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
document_version_api_documents__document_id__versions__event_id__get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
event_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentVersion"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
publish_document_api_documents__document_id__publish_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
list_reviewers_api_documents__document_id__reviewers_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ReviewerCandidate"][];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
request_review_api_documents__document_id__reviews_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["ReviewRequestBody"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
resolve_review_api_documents__document_id__reviews__review_id__resolve_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
review_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
set_shared_departments_api_documents__document_id__departments_put: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentDepartments"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DocumentDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
suggest_title_api_documents__document_id__suggest_title_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["TitleSuggestion"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
suggest_similar_api_documents_suggest_similar_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["SuggestSimilarRequest"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["SimilarDocumentOut"][];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
refine_section_api_documents__document_id__refine_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
document_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["RefineRequest"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": unknown;
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
list_people_api_people_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["PersonOut"][];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
get_person_api_people__person_id__get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
person_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["PersonOut"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
list_catalog_api_templates_catalog_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["CatalogSummary"][];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
get_catalog_blueprint_api_templates_catalog__catalog_id__get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
catalog_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["CatalogDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
add_from_catalog_api_templates_catalog__catalog_id__post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
catalog_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["TemplateDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
build_template_api_templates_build_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["TemplateBuildRequest"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["TemplateDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
get_template_api_templates__template_id__get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
template_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["TemplateDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
update_template_api_templates__template_id__put: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
template_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["TemplateImportRequest"];
|
|
};
|
|
};
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["TemplateDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
delete_template_api_templates__template_id__delete: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
template_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
204: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content?: never;
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
duplicate_template_api_templates__template_id__duplicate_post: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path: {
|
|
template_id: string;
|
|
};
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["TemplateDetail"];
|
|
};
|
|
};
|
|
/** @description Validation Error */
|
|
422: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["HTTPValidationError"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
list_templates_api_templates_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["TemplateSummary"][];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
health_api_health_get: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Successful Response */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": {
|
|
[key: string]: string;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|