diff --git a/.gitattributes b/.gitattributes index b2de3cec4..00f80fbad 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,3 +2,7 @@ # Use bd merge for beads JSONL files .beads/issues.jsonl merge=beads + +# Machine-generated API contract artifacts (see ENG-40) +openapi/v1.json linguist-generated +extralit-frontend/types/generated/** linguist-generated diff --git a/.github/workflows/extralit-frontend.yml b/.github/workflows/extralit-frontend.yml index 77b0841cb..d52044506 100644 --- a/.github/workflows/extralit-frontend.yml +++ b/.github/workflows/extralit-frontend.yml @@ -13,11 +13,13 @@ on: - release paths: - "extralit-frontend/**" + - "openapi/v1.json" - ".github/workflows/extralit-frontend.yml" pull_request: paths: - "extralit-frontend/**" + - "openapi/v1.json" - ".github/workflows/extralit-frontend.yml" permissions: @@ -44,6 +46,11 @@ jobs: run: | npm install + - name: Check generated API types are current ๐Ÿ”— + run: | + npm run api:types + git diff --exit-code -- types/generated/api.d.ts + - name: Run lint ๐Ÿงน continue-on-error: true run: | diff --git a/.github/workflows/extralit-server.yml b/.github/workflows/extralit-server.yml index f22930691..6a2fe67cd 100644 --- a/.github/workflows/extralit-server.yml +++ b/.github/workflows/extralit-server.yml @@ -17,10 +17,14 @@ on: - "v[0-9]+.[0-9]+.[0-9]+" paths: - "extralit-server/**" + - "openapi/v1.json" + - ".github/workflows/extralit-server.yml" pull_request: paths: - "extralit-server/**" + - "openapi/v1.json" + - ".github/workflows/extralit-server.yml" permissions: id-token: write diff --git a/.github/workflows/extralit.yml b/.github/workflows/extralit.yml index b52230ee7..47fea2e1b 100644 --- a/.github/workflows/extralit.yml +++ b/.github/workflows/extralit.yml @@ -19,12 +19,16 @@ on: - "extralit/**" - "!extralit/docs/**" - "!extralit/mkdocs.yml" + - "openapi/v1.json" + - ".github/workflows/extralit.yml" pull_request: paths: - "extralit/**" - "!extralit/docs/**" - "!extralit/mkdocs.yml" + - "openapi/v1.json" + - ".github/workflows/extralit.yml" permissions: id-token: write @@ -50,7 +54,8 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + # Newest supported version (requires-python <3.14). + python-version: ["3.13"] steps: - uses: actions/checkout@v4 - name: Install uv @@ -131,7 +136,7 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v4 # Upload the package to be used in the next jobs only once - if: ${{ matrix.python-version == '3.9' }} + if: ${{ matrix.python-version == '3.13' }} with: name: extralit path: extralit/dist diff --git a/extralit-frontend/.prettierignore b/extralit-frontend/.prettierignore index 26dd47d02..d090d9b23 100644 --- a/extralit-frontend/.prettierignore +++ b/extralit-frontend/.prettierignore @@ -9,3 +9,4 @@ dist # Lockfiles and generated data package-lock.json +types/generated diff --git a/extralit-frontend/eslint.config.mjs b/extralit-frontend/eslint.config.mjs index 93ce22e13..30970e154 100644 --- a/extralit-frontend/eslint.config.mjs +++ b/extralit-frontend/eslint.config.mjs @@ -31,7 +31,7 @@ export default [ "v1/domain/entities/document/Document.ts", "v1/domain/usecases/get-extraction-completion-use-case.ts", "components/base/base-render-table/**", - "v2/infrastructure/api/generated/**", + "types/generated/**", ], }, diff --git a/extralit-frontend/package-lock.json b/extralit-frontend/package-lock.json index 2c55eb211..b54a6ea8d 100644 --- a/extralit-frontend/package-lock.json +++ b/extralit-frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "extralit", - "version": "0.6.1", + "version": "0.7.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "extralit", - "version": "0.6.1", + "version": "0.7.0", "hasInstallScript": true, "dependencies": { "@codescouts/events": "^1.0.2", diff --git a/extralit-frontend/package.json b/extralit-frontend/package.json index d5a83d825..6b75776f6 100644 --- a/extralit-frontend/package.json +++ b/extralit-frontend/package.json @@ -5,6 +5,7 @@ "scripts": { "dev": "nuxi dev", "postinstall": "nuxi prepare", + "api:types": "openapi-typescript ../openapi/v1.json -o types/generated/api.d.ts", "build": "nuxi build", "start": "nuxi preview", "generate": "nuxi generate", diff --git a/extralit-frontend/types/generated/api.d.ts b/extralit-frontend/types/generated/api.d.ts new file mode 100644 index 000000000..12279ccb9 --- /dev/null +++ b/extralit-frontend/types/generated/api.d.ts @@ -0,0 +1,19805 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/auth/github/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Initiate Github Login + * @description Start the GitHub OAuth device flow. + * + * Returns only the user_code and verification_uri. The device_code + * is stored server-side and used automatically by the /poll endpoint. + */ + post: operations["initiate_github_login_auth_github_login_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/auth/github/logout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Logout Github + * @description Clear the stored GitHub token. + */ + delete: operations["logout_github_auth_github_logout_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/auth/github/poll": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Poll Github Token + * @description Poll for the access token after the user authorises on GitHub. + * + * The client does not need to send a device_code โ€” it is stored + * server-side from the /login step. + */ + post: operations["poll_github_token_auth_github_poll_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/auth/github/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Auth Status + * @description Check whether the current user has a valid GitHub Copilot token. + */ + get: operations["get_auth_status_auth_github_status_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/chat": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Chat + * @description Chat endpoint using LiteLLM with GitHub Copilot and optional RAG. + * + * This endpoint requires the user to be authenticated with both Extralit + * and GitHub (via the /auth/github/login flow). + * + * If dataset_id is provided, the endpoint will perform RAG retrieval: + * 1. Generate embedding for the user's query + * 2. Search for relevant documents in the dataset + * 3. Inject retrieved context into the system prompt + * + * Args: + * request: Chat request with model, messages, and optional dataset_id + * current_user: Authenticated Extralit user + * db: Database session (injected for RAG) + * search_engine: Search engine instance (injected for RAG) + * + * Returns: + * StreamingResponse with chat completion + * + * Raises: + * HTTPException: If user is not authenticated with GitHub + */ + post: operations["chat_chat_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/chat/models": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Models + * @description List available chat models. + * + * Returns: + * Dictionary with available models + */ + get: operations["list_models_chat_models_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Dataset */ + post: operations["create_dataset_datasets_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/compatible": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** List Compatible Datasets */ + post: operations["list_compatible_datasets_datasets_compatible_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Dataset */ + get: operations["get_dataset_datasets__dataset_id__get"]; + put?: never; + post?: never; + /** Delete Dataset */ + delete: operations["delete_dataset_datasets__dataset_id__delete"]; + options?: never; + head?: never; + /** Update Dataset */ + patch: operations["update_dataset_datasets__dataset_id__patch"]; + trace?: never; + }; + "/datasets/{dataset_id}/export": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Export Dataset To Hub */ + post: operations["export_dataset_to_hub_datasets__dataset_id__export_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/fields": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Dataset Fields */ + get: operations["list_dataset_fields_datasets__dataset_id__fields_get"]; + put?: never; + /** Create Dataset Field */ + post: operations["create_dataset_field_datasets__dataset_id__fields_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/import": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Import Dataset From Import History */ + post: operations["import_dataset_from_import_history_datasets__dataset_id__import_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/import-hub": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Import Dataset From Hub */ + post: operations["import_dataset_from_hub_datasets__dataset_id__import_hub_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/metadata-properties": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Dataset Metadata Property */ + post: operations["create_dataset_metadata_property_datasets__dataset_id__metadata_properties_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/progress": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Dataset Progress */ + get: operations["get_dataset_progress_datasets__dataset_id__progress_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/publish": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Publish Dataset */ + put: operations["publish_dataset_datasets__dataset_id__publish_put"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/questions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Dataset Questions */ + get: operations["list_dataset_questions_datasets__dataset_id__questions_get"]; + put?: never; + /** Create Dataset Question */ + post: operations["create_dataset_question_datasets__dataset_id__questions_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/records": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Dataset Records */ + get: operations["list_dataset_records_datasets__dataset_id__records_get"]; + put?: never; + post?: never; + /** Delete Dataset Records */ + delete: operations["delete_dataset_records_datasets__dataset_id__records_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/records/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Upsert Dataset Records Bulk */ + put: operations["upsert_dataset_records_bulk_datasets__dataset_id__records_bulk_put"]; + /** Create Dataset Records Bulk */ + post: operations["create_dataset_records_bulk_datasets__dataset_id__records_bulk_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/records/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Search Dataset Records */ + post: operations["search_dataset_records_datasets__dataset_id__records_search_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/records/search/suggestions/options": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Dataset Records Search Suggestions Options */ + get: operations["list_dataset_records_search_suggestions_options_datasets__dataset_id__records_search_suggestions_options_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/schema-versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Schema Versions */ + get: operations["list_schema_versions_datasets__dataset_id__schema_versions_get"]; + put?: never; + /** Publish Schema Version */ + post: operations["publish_schema_version_datasets__dataset_id__schema_versions_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/schema-versions/{version}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Schema Version */ + get: operations["get_schema_version_datasets__dataset_id__schema_versions__version__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/users/progress": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Dataset Users Progress */ + get: operations["get_dataset_users_progress_datasets__dataset_id__users_progress_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/datasets/{dataset_id}/vectors-settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Dataset Vector Settings */ + get: operations["list_dataset_vector_settings_datasets__dataset_id__vectors_settings_get"]; + put?: never; + /** Create Dataset Vector Settings */ + post: operations["create_dataset_vector_settings_datasets__dataset_id__vectors_settings_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/documents": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Document + * @description Get documents by ID, PMID, DOI, or reference. + */ + get: operations["get_document_documents_get"]; + put?: never; + /** Add Document */ + post: operations["add_document_documents_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/documents/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create Documents Bulk + * @description Bulk upload documents with associated PDF files. + * + * - `documents_metadata`: JSON string matching the DocumentsBulkCreate schema. + * Example: + * { + * "documents": [ + * { + * "reference": "ref1", + * "document_create": { ... }, + * "associated_file": "file1.pdf" + * } + * ] + * } + * - `files`: List of PDF files to upload. + * + * It processes the documents in batches and returns job IDs for tracking. + */ + post: operations["create_documents_bulk_documents_bulk_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/documents/workspace/{workspace_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Documents */ + get: operations["list_documents_documents_workspace__workspace_id__get"]; + put?: never; + post?: never; + /** + * Delete Documents By Workspace Id + * @description Delete a specific document by id only + */ + delete: operations["delete_documents_by_workspace_id_documents_workspace__workspace_id__delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/documents/{document_id}/layout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Document Layout + * @description Get the extracted layout of a document, with per-item page regions. + */ + get: operations["get_document_layout_documents__document_id__layout_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/documents/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update Document + * @description Update a document by ID. + */ + patch: operations["update_document_documents__id__patch"]; + trace?: never; + }; + "/fields/{field_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Delete Field */ + delete: operations["delete_field_fields__field_id__delete"]; + options?: never; + head?: never; + /** Update Field */ + patch: operations["update_field_fields__field_id__patch"]; + trace?: never; + }; + "/file/{bucket}/{object}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get File */ + get: operations["get_file_file__bucket___object__get"]; + put?: never; + /** Put File */ + post: operations["put_file_file__bucket___object__post"]; + /** Delete Files */ + delete: operations["delete_files_file__bucket___object__delete"]; + /** + * Options File + * @description Handle CORS preflight requests for file access + */ + options: operations["options_file_file__bucket___object__options"]; + head?: never; + patch?: never; + trace?: never; + }; + "/files/{bucket}/{prefix}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Objects Endpoint */ + get: operations["list_objects_endpoint_files__bucket___prefix__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/imports/analyze": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Analyze Import + * @description Analyze import request to determine add/update/skip status for each document. + * + * This endpoint receives file metadata (not file contents) from the frontend + * and analyzes which documents should be added, updated, skipped, or failed + * based on existing documents in the workspace. + * + * Args: + * analysis_request: Request containing workspace_id and documents metadata + * db: Database session + * current_user: Authenticated user + * + * Returns: + * ImportAnalysisResponse with document statuses and summary + * + * Raises: + * HTTPException: If workspace doesn't exist or other validation errors occur + */ + post: operations["analyze_import_imports_analyze_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/imports/history": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Import Histories + * @description List import history records for a workspace. + * + * Args: + * workspace_id: Workspace ID to filter import histories + * limit: Optional limit on number of records to return (for Recent Imports sidebar) + * db: Database session + * current_user: Authenticated user + * + * Returns: + * List of ImportHistoryResponse records + * + * Raises: + * HTTPException: If workspace doesn't exist or access denied + */ + get: operations["list_import_histories_imports_history_get"]; + put?: never; + /** + * Create Import History Endpoint + * @description Create import history record to store generic tabular dataframe data. + * + * This endpoint is called after bulk upload completion to store the complete + * import record with the original parsed data (BibTeX, CSV, etc.) in a + * standardized dataframe format. + * + * Args: + * import_history_create: Import history creation data + * db: Database session + * current_user: Authenticated user + * + * Returns: + * ImportHistoryResponse with created record information + * + * Raises: + * HTTPException: If workspace doesn't exist or creation fails + */ + post: operations["create_import_history_endpoint_imports_history_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/imports/history/{history_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Import History + * @description Get detailed import history record including data and metadata. + * + * Args: + * history_id: Import history record ID + * db: Database session + * current_user: Authenticated user + * + * Returns: + * Complete import history record with data and metadata + * + * Raises: + * HTTPException: If record doesn't exist or access denied + */ + get: operations["get_import_history_imports_history__history_id__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/jobs/": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Jobs + * @description Get jobs using RQ Groups-based querying. + * + * Maps document IDs to RQ Groups for efficient job status retrieval. + * For reference-level queries, searches over documents linked to the reference. + */ + get: operations["get_jobs_jobs__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/jobs/{job_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Job */ + get: operations["get_job_jobs__job_id__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/me": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Current User */ + get: operations["get_current_user_me_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/me/datasets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Current User Datasets */ + get: operations["list_current_user_datasets_me_datasets_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/me/datasets/projection": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Workspace Projection */ + get: operations["get_workspace_projection_me_datasets_projection_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/me/datasets/{dataset_id}/metadata-properties": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Current User Dataset Metadata Properties */ + get: operations["list_current_user_dataset_metadata_properties_me_datasets__dataset_id__metadata_properties_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/me/datasets/{dataset_id}/metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Current User Dataset Metrics */ + get: operations["get_current_user_dataset_metrics_me_datasets__dataset_id__metrics_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/me/datasets/{dataset_id}/records/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Search Current User Dataset Records */ + post: operations["search_current_user_dataset_records_me_datasets__dataset_id__records_search_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/me/responses/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Current User Responses Bulk */ + post: operations["create_current_user_responses_bulk_me_responses_bulk_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/me/workspaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Workspaces Me */ + get: operations["list_workspaces_me_me_workspaces_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/metadata-properties/{metadata_property_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Delete Metadata Property */ + delete: operations["delete_metadata_property_metadata_properties__metadata_property_id__delete"]; + options?: never; + head?: never; + /** Update Metadata Property */ + patch: operations["update_metadata_property_metadata_properties__metadata_property_id__patch"]; + trace?: never; + }; + "/metadata-properties/{metadata_property_id}/metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Metadata Property Metrics */ + get: operations["get_metadata_property_metrics_metadata_properties__metadata_property_id__metrics_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/models/{rest_of_path}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Proxy */ + get: operations["proxy_models_get"]; + /** Proxy */ + put: operations["proxy_models_put"]; + /** Proxy */ + post: operations["proxy_models_post"]; + /** Proxy */ + delete: operations["proxy_models_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/oauth2/providers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Providers */ + get: operations["list_providers_oauth2_providers_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/oauth2/providers/{provider}/access-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Access Token */ + get: operations["get_access_token_oauth2_providers__provider__access_token_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/oauth2/providers/{provider}/authentication": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Authentication */ + get: operations["get_authentication_oauth2_providers__provider__authentication_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/questions/{question_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Delete Question */ + delete: operations["delete_question_questions__question_id__delete"]; + options?: never; + head?: never; + /** Update Question */ + patch: operations["update_question_questions__question_id__patch"]; + trace?: never; + }; + "/records/{record_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Record */ + get: operations["get_record_records__record_id__get"]; + put?: never; + post?: never; + /** Delete Record */ + delete: operations["delete_record_records__record_id__delete"]; + options?: never; + head?: never; + /** Update Record */ + patch: operations["update_record_records__record_id__patch"]; + trace?: never; + }; + "/records/{record_id}/responses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Record Response */ + post: operations["create_record_response_records__record_id__responses_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/records/{record_id}/suggestions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Record Suggestions */ + get: operations["get_record_suggestions_records__record_id__suggestions_get"]; + /** Create or update a suggestion */ + put: operations["upsert_suggestion_records__record_id__suggestions_put"]; + post?: never; + /** Delete suggestions for a record */ + delete: operations["delete_record_suggestions_records__record_id__suggestions_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/responses/{response_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update Response */ + put: operations["update_response_responses__response_id__put"]; + post?: never; + /** Delete Response */ + delete: operations["delete_response_responses__response_id__delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Settings */ + get: operations["get_settings_settings_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Status */ + get: operations["get_status_status_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/suggestions/{suggestion_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Delete Suggestion */ + delete: operations["delete_suggestion_suggestions__suggestion_id__delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Token */ + post: operations["create_token_token_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/token/refresh": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Refresh Token + * @description Refresh an access token using a valid refresh token. + * This endpoint does not require database access, improving reliability. + */ + post: operations["refresh_token_token_refresh_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Users */ + get: operations["list_users_users_get"]; + put?: never; + /** Create User */ + post: operations["create_user_users_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{user_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get User */ + get: operations["get_user_users__user_id__get"]; + put?: never; + post?: never; + /** Delete User */ + delete: operations["delete_user_users__user_id__delete"]; + options?: never; + head?: never; + /** Update User */ + patch: operations["update_user_users__user_id__patch"]; + trace?: never; + }; + "/users/{user_id}/workspaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List User Workspaces */ + get: operations["list_user_workspaces_users__user_id__workspaces_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/vectors-settings/{vector_settings_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Delete Vector Settings */ + delete: operations["delete_vector_settings_vectors_settings__vector_settings_id__delete"]; + options?: never; + head?: never; + /** Update Vector Settings */ + patch: operations["update_vector_settings_vectors_settings__vector_settings_id__patch"]; + trace?: never; + }; + "/version": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Version */ + get: operations["get_version_version_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/webhooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Webhooks */ + get: operations["list_webhooks_webhooks_get"]; + put?: never; + /** Create Webhook */ + post: operations["create_webhook_webhooks_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/webhooks/{webhook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Delete Webhook */ + delete: operations["delete_webhook_webhooks__webhook_id__delete"]; + options?: never; + head?: never; + /** Update Webhook */ + patch: operations["update_webhook_webhooks__webhook_id__patch"]; + trace?: never; + }; + "/webhooks/{webhook_id}/ping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Ping Webhook */ + post: operations["ping_webhook_webhooks__webhook_id__ping_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workflows/": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Workflows + * @description List workflows with optional filtering. + */ + get: operations["list_workflows_workflows__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workflows/restart": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Restart Workflow + * @description Restart failed workflow jobs using RQ Groups. + */ + post: operations["restart_workflow_workflows_restart_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workflows/start": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Start Workflow + * @description Start PDF processing workflow for a document. + */ + post: operations["start_workflow_workflows_start_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workflows/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Workflow Status Endpoint + * @description Get workflow status for documents. + */ + get: operations["get_workflow_status_endpoint_workflows_status_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workspaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Workspace */ + post: operations["create_workspace_workspaces_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workspaces/{workspace_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Workspace */ + get: operations["get_workspace_workspaces__workspace_id__get"]; + put?: never; + post?: never; + /** Delete Workspace */ + delete: operations["delete_workspace_workspaces__workspace_id__delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workspaces/{workspace_id}/doctor": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Workspace Doctor + * @description Run diagnostics on a workspace and optionally auto-fix issues. + * + * Checks: + * - S3 bucket exists (can auto-fix) + * - Bucket has proper versioning policy (informational) + * - RQ worker pool connectivity (informational) + */ + post: operations["workspace_doctor_workspaces__workspace_id__doctor_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workspaces/{workspace_id}/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List Workspace Users */ + get: operations["list_workspace_users_workspaces__workspace_id__users_get"]; + put?: never; + /** Create Workspace User */ + post: operations["create_workspace_user_workspaces__workspace_id__users_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/workspaces/{workspace_id}/users/{user_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Delete Workspace User */ + delete: operations["delete_workspace_user_workspaces__workspace_id__users__user_id__delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + /** AuthStatusResponse */ + AuthStatusResponse: { + /** Authenticated */ + authenticated: boolean; + /** Username */ + username: string; + }; + /** Body_add_document_documents_post */ + Body_add_document_documents_post: { + /** Document Create */ + document_create: string; + /** File Data */ + file_data?: string | null; + }; + /** Body_create_documents_bulk_documents_bulk_post */ + Body_create_documents_bulk_documents_bulk_post: { + /** + * Documents Metadata + * @description JSON string matching the DocumentsBulkCreate schema + */ + documents_metadata: string; + /** Files */ + files: string[]; + }; + /** Body_create_token_token_post */ + Body_create_token_token_post: { + /** Password */ + password: string; + /** Username */ + username: string; + }; + /** Body_put_file_file__bucket___object__post */ + Body_put_file_file__bucket___object__post: { + /** + * File + * Format: binary + */ + file: string; + }; + /** + * BoundingBoxOut + * @description A rectangle in page points. + */ + BoundingBoxOut: { + /** + * B + * @description Bottom edge + */ + b: number; + /** + * Coord Origin + * @description Origin the coordinates are measured from + * @default TOPLEFT + */ + coord_origin: string; + /** + * L + * @description Left edge + */ + l: number; + /** + * R + * @description Right edge + */ + r: number; + /** + * T + * @description Top edge + */ + t: number; + }; + /** ChatFieldSettings */ + ChatFieldSettings: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "chat"; + /** Use Markdown */ + use_markdown: boolean; + }; + /** ChatFieldSettingsCreate */ + ChatFieldSettingsCreate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "chat"; + /** + * Use Markdown + * @default true + */ + use_markdown: boolean; + }; + /** ChatFieldSettingsUpdate */ + ChatFieldSettingsUpdate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "chat"; + /** Use Markdown */ + use_markdown: boolean; + }; + /** ChatFieldValue */ + ChatFieldValue: { + /** Content */ + content: string; + /** Role */ + role: string; + }; + /** + * ChatMessage + * @description A single chat message. + */ + ChatMessage: { + /** + * Content + * @description Content of the message + */ + content: string; + /** + * Role + * @description Role of the message sender (user, assistant, system) + */ + role: string; + }; + /** + * ChatRequest + * @description Request model for chat endpoint. + */ + ChatRequest: { + /** + * Dataset Id + * @description Optional dataset ID for RAG retrieval + */ + dataset_id?: string | null; + /** + * Messages + * @description List of chat messages + */ + messages: components["schemas"]["ChatMessage"][]; + /** + * Model + * @description Model to use for chat (e.g., 'copilot') + * @default copilot + */ + model: string; + /** + * Stream + * @description Whether to stream the response + * @default true + */ + stream: boolean; + /** + * Top K + * @description Number of documents to retrieve for RAG + * @default 5 + */ + top_k: number; + }; + /** ColumnFieldSettings */ + ColumnFieldSettings: { + /** Dtype */ + dtype: string; + /** + * Nullable + * @default true + */ + nullable: boolean; + /** Review */ + review?: Record | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "column"; + }; + /** ColumnFieldSettingsCreate */ + ColumnFieldSettingsCreate: { + /** Dtype */ + dtype: string; + /** + * Nullable + * @default true + */ + nullable: boolean; + /** Review */ + review?: Record | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "column"; + }; + /** CompatibleDatasetsRequest */ + CompatibleDatasetsRequest: { + /** + * Column Names + * @description List of column names to match against existing datasets + */ + column_names: string[]; + /** + * Workspace Id + * @description Filter by workspace_id + */ + workspace_id?: string | null; + }; + /** CustomFieldSettings */ + CustomFieldSettings: { + /** Advanced Mode */ + advanced_mode: boolean; + /** Template */ + template: string; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "custom"; + }; + /** CustomFieldSettingsCreate */ + CustomFieldSettingsCreate: { + /** + * Advanced Mode + * @default false + */ + advanced_mode: boolean; + /** Template */ + template: string; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "custom"; + }; + /** CustomFieldSettingsUpdate */ + CustomFieldSettingsUpdate: { + /** Advanced Mode */ + advanced_mode: boolean; + /** Template */ + template: string; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "custom"; + }; + /** Dataset */ + Dataset: { + /** Allow Extra Metadata */ + allow_extra_metadata: boolean; + /** Current Schema Version Id */ + current_schema_version_id?: string | null; + distribution: components["schemas"]["DatasetOverlapDistribution"]; + /** Guidelines */ + guidelines?: string | null; + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** + * Last Activity At + * Format: date-time + */ + last_activity_at: string; + mapping?: components["schemas"]["DatasetMapping"] | null; + /** Metadata */ + metadata?: Record | null; + /** Name */ + name: string; + status: components["schemas"]["DatasetStatus"]; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** + * Workspace Id + * Format: uuid + */ + workspace_id: string; + }; + /** DatasetCreate */ + DatasetCreate: { + /** + * Allow Extra Metadata + * @default true + */ + allow_extra_metadata: boolean; + /** + * @default { + * "min_submitted": 1, + * "strategy": "overlap" + * } + */ + distribution: components["schemas"]["DatasetOverlapDistributionCreate"]; + /** Guidelines */ + guidelines?: string | null; + /** Metadata */ + metadata?: Record | null; + /** + * Name + * @description Dataset name + */ + name: string; + /** + * Workspace Id + * Format: uuid + */ + workspace_id: string; + }; + /** DatasetMapping */ + DatasetMapping: { + /** Fields */ + fields: components["schemas"]["DatasetMappingItem"][]; + /** + * Metadata + * @default [] + */ + metadata: components["schemas"]["DatasetMappingItem"][] | null; + /** + * Source Id + * @description Dataset-level source identifier (format: import:{import_id}, dataset:{dataset_id}, hub:{repo_id}) + */ + source_id?: string | null; + /** + * Suggestions + * @default [] + */ + suggestions: components["schemas"]["DatasetMappingItem"][] | null; + /** + * Target Id + * @description Dataset-level target identifier for workflow tracking + */ + target_id?: string | null; + }; + /** DatasetMappingItem */ + DatasetMappingItem: { + /** + * Source + * @description The name of the column in the Hub Dataset + */ + source: string; + /** + * Target + * @description The name of the target resource in the Extralit Dataset + */ + target: string; + }; + /** DatasetMetrics */ + DatasetMetrics: { + responses: components["schemas"]["ResponseMetrics"]; + }; + /** DatasetOverlapDistribution */ + DatasetOverlapDistribution: { + /** Min Submitted */ + min_submitted: number; + /** + * Strategy + * @constant + * @enum {string} + */ + strategy: "overlap"; + }; + /** DatasetOverlapDistributionCreate */ + DatasetOverlapDistributionCreate: { + /** + * Min Submitted + * @description Minimum number of submitted responses to consider a record as completed + */ + min_submitted: number; + /** + * Strategy + * @constant + * @enum {string} + */ + strategy: "overlap"; + }; + /** DatasetOverlapDistributionUpdate */ + DatasetOverlapDistributionUpdate: { + /** + * Min Submitted + * @description Minimum number of submitted responses to consider a record as completed + */ + min_submitted: number; + /** + * Strategy + * @constant + * @enum {string} + */ + strategy: "overlap"; + }; + /** DatasetProgress */ + DatasetProgress: { + /** Completed */ + completed: number; + /** Pending */ + pending: number; + /** Total */ + total: number; + /** Users */ + users?: components["schemas"]["UserProgress"][]; + }; + /** + * DatasetStatus + * @enum {string} + */ + DatasetStatus: "draft" | "ready"; + /** DatasetUpdate */ + DatasetUpdate: { + /** Allow Extra Metadata */ + allow_extra_metadata?: boolean | null; + distribution?: components["schemas"]["DatasetOverlapDistributionUpdate"] | null; + /** Guidelines */ + guidelines?: string | null; + /** Metadata */ + metadata?: Record | null; + /** Name */ + name?: string | null; + }; + /** Datasets */ + Datasets: { + /** Items */ + items: components["schemas"]["Dataset"][]; + }; + /** + * DeviceFlowResponse + * @description Returned to the browser - no device_code. + */ + DeviceFlowResponse: { + /** Expires In */ + expires_in: number; + /** Interval */ + interval: number; + /** User Code */ + user_code: string; + /** Verification Uri */ + verification_uri: string; + }; + /** DiscardedResponseUpdate */ + DiscardedResponseUpdate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + status: "discarded"; + /** Values */ + values?: { + [key: string]: components["schemas"]["ResponseValueUpdate"]; + } | null; + }; + /** DiscardedResponseUpsert */ + DiscardedResponseUpsert: { + /** + * Record Id + * Format: uuid + */ + record_id: string; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + status: "discarded"; + /** Values */ + values?: { + [key: string]: components["schemas"]["ResponseValueUpdate"]; + } | null; + }; + /** DocumentCreate */ + DocumentCreate: { + /** + * Doi + * @description The DOI of the document. + */ + doi?: string | null; + /** + * File Name + * @description The name of the file. + */ + file_name?: string | null; + /** Id */ + id?: string | null; + /** + * Metadata + * @description Additional metadata for the document + */ + metadata?: Record | null; + /** + * Pmid + * @description The PubMed ID of the document. + */ + pmid?: string | null; + /** + * Reference + * @description Extraction reference for the document + */ + reference: string; + /** + * Url + * @description A URL to the PDF document if it is public available online. If the `file_data` is uploaded, this field should be left empty. + */ + url?: string | null; + /** + * Workspace Id + * Format: uuid + * @description The workspace ID where the document will be uploaded. + */ + workspace_id: string; + }; + /** + * DocumentDelete + * @description Query Schema for deleting a document (within a Workspace). + */ + DocumentDelete: { + /** + * Id + * Format: uuid + */ + id: string; + /** + * Reference + * @description Extraction reference for the document + */ + reference?: string | null; + }; + /** + * DocumentImportAnalysis + * @description Information about a document in the import analysis response. + */ + DocumentImportAnalysis: { + /** + * Associated Files + * @description PDF filenames matched to this reference + */ + associated_files?: string[]; + /** @description Document creation data */ + document_create: components["schemas"]["DocumentCreate"]; + /** @description Import status (add, update, skip, failed) */ + status: components["schemas"]["ImportStatus"]; + /** + * Validation Errors + * @description Validation error messages if any + */ + validation_errors?: string[] | null; + }; + /** + * DocumentLayoutOut + * @description Extracted layout for one document. + */ + DocumentLayoutOut: { + /** + * Docling Version + * @description docling-core schema version of the stored document + */ + docling_version: string; + /** + * Document Id + * @description Document ID + */ + document_id: string; + /** + * Items + * @description Layout items in reading order + */ + items?: components["schemas"]["LayoutItemOut"][]; + /** + * Num Items + * @description Number of items in this response + */ + num_items: number; + /** + * Num Pages + * @description Number of pages in this response + */ + num_pages: number; + /** + * Pages + * @description Page geometry + */ + pages?: components["schemas"]["LayoutPageOut"][]; + }; + /** DocumentListItem */ + DocumentListItem: { + /** Doi */ + doi: string | null; + /** File Name */ + file_name: string | null; + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** Metadata */ + metadata?: Record | null; + /** Pmid */ + pmid: string | null; + /** Reference */ + reference: string; + /** + * Thumbnail Url + * @description URL to the document thumbnail image + */ + thumbnail_url?: string | null; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** Url */ + url: string; + /** + * Workspace Id + * Format: uuid + */ + workspace_id: string; + }; + /** + * DocumentMetadata + * @description Metadata information for a document to be imported. + */ + DocumentMetadata: { + /** + * Associated Files + * @description PDF file metadata (not contents) + */ + associated_files?: components["schemas"]["FileInfo"][]; + /** @description Document creation data */ + document_create: components["schemas"]["DocumentCreate"]; + }; + /** + * DocumentUpdate + * @description Schema for updating a document. + */ + DocumentUpdate: { + /** + * Doi + * @description The DOI of the document. + */ + doi?: string | null; + /** + * File Name + * @description The name of the file. + */ + file_name?: string | null; + /** + * Metadata + * @description Additional metadata for the document + */ + metadata?: Record | null; + /** + * Pmid + * @description The PubMed ID of the document. + */ + pmid?: string | null; + /** + * Reference + * @description Extraction reference for the document + */ + reference?: string | null; + /** + * Url + * @description A URL to the PDF document if it is publicly available online. + */ + url?: string | null; + }; + /** + * DocumentsBulkResponse + * @description Response schema for bulk document upload. + */ + DocumentsBulkResponse: { + /** + * Failed Validations + * @description Files that failed validation + */ + failed_validations?: string[]; + /** + * Job Ids + * @description Reference key to job_id mapping for frontend tracking + */ + job_ids: { + [key: string]: string; + }; + /** + * Total Documents + * @description Total number of documents in the request + */ + total_documents: number; + }; + /** DraftResponseUpdate */ + DraftResponseUpdate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + status: "draft"; + /** Values */ + values?: { + [key: string]: components["schemas"]["ResponseValueUpdate"]; + } | null; + }; + /** DraftResponseUpsert */ + DraftResponseUpsert: { + /** + * Record Id + * Format: uuid + */ + record_id: string; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + status: "draft"; + /** Values */ + values?: { + [key: string]: components["schemas"]["ResponseValueUpdate"]; + } | null; + }; + /** ExtralitSettings */ + ExtralitSettings: { + /** + * Share Your Progress Enabled + * @default false + */ + share_your_progress_enabled: boolean; + /** Show Huggingface Space Persistent Storage Warning */ + show_huggingface_space_persistent_storage_warning?: boolean | null; + }; + /** Field */ + Field: { + /** + * Dataset Id + * Format: uuid + */ + dataset_id: string; + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** Name */ + name: string; + /** Required */ + required: boolean; + /** Settings */ + settings: components["schemas"]["TextFieldSettings"] | components["schemas"]["ImageFieldSettings"] | components["schemas"]["ChatFieldSettings"] | components["schemas"]["CustomFieldSettings"] | components["schemas"]["TableFieldSettings"] | components["schemas"]["ColumnFieldSettings"]; + /** Title */ + title: string; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + }; + /** FieldCreate */ + FieldCreate: { + /** + * Name + * @description The name of the field + */ + name: string; + /** Required */ + required?: boolean | null; + /** Settings */ + settings: components["schemas"]["TextFieldSettingsCreate"] | components["schemas"]["ImageFieldSettingsCreate"] | components["schemas"]["ChatFieldSettingsCreate"] | components["schemas"]["CustomFieldSettingsCreate"] | components["schemas"]["TableFieldSettingsCreate"] | components["schemas"]["ColumnFieldSettingsCreate"]; + /** + * Title + * @description The title of the field + */ + title: string; + }; + /** FieldUpdate */ + FieldUpdate: { + /** Settings */ + settings?: (components["schemas"]["TextFieldSettingsUpdate"] | components["schemas"]["ImageFieldSettingsUpdate"] | components["schemas"]["ChatFieldSettingsUpdate"] | components["schemas"]["CustomFieldSettingsUpdate"] | components["schemas"]["TableFieldSettingsUpdate"]) | null; + /** Title */ + title?: string | null; + }; + /** Fields */ + Fields: { + /** Items */ + items: components["schemas"]["Field"][]; + }; + /** + * FileInfo + * @description Information about a file to be imported. + */ + FileInfo: { + /** + * Filename + * @description Name of the file + */ + filename: string; + /** + * Size + * @description File size in bytes for comparison + */ + size?: number | null; + }; + /** Filters */ + Filters: { + /** And */ + and?: (components["schemas"]["TermsFilter"] | components["schemas"]["RangeFilter"])[] | null; + }; + /** FloatMetadataMetrics */ + FloatMetadataMetrics: { + /** Max */ + max?: number | null; + /** Min */ + min?: number | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "float"; + }; + /** FloatMetadataProperty */ + FloatMetadataProperty: { + /** Max */ + max?: number | null; + /** Min */ + min?: number | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "float"; + }; + /** FloatMetadataPropertyCreate */ + FloatMetadataPropertyCreate: { + /** Max */ + max?: number | null; + /** Min */ + min?: number | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "float"; + }; + /** HubDataset */ + HubDataset: { + mapping: components["schemas"]["DatasetMapping"]; + /** Name */ + name: string; + /** Split */ + split: string; + /** Subset */ + subset: string; + }; + /** HubDatasetExport */ + HubDatasetExport: { + /** Name */ + name: string; + /** + * Private + * @default false + */ + private: boolean | null; + /** + * Split + * @default train + */ + split: string | null; + /** + * Subset + * @default default + */ + subset: string | null; + /** Token */ + token: string; + }; + /** HuggingfaceSettings */ + HuggingfaceSettings: { + /** Space Author Name */ + space_author_name: string | null; + /** Space Host */ + space_host: string | null; + /** Space Id */ + space_id: string | null; + /** Space Persistent Storage Enabled */ + space_persistent_storage_enabled: boolean; + /** Space Repo Name */ + space_repo_name: string | null; + /** Space Subdomain */ + space_subdomain: string | null; + /** Space Title */ + space_title: string | null; + }; + /** ImageFieldSettings */ + ImageFieldSettings: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "image"; + }; + /** ImageFieldSettingsCreate */ + ImageFieldSettingsCreate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "image"; + }; + /** ImageFieldSettingsUpdate */ + ImageFieldSettingsUpdate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "image"; + }; + /** + * ImportAnalysisRequest + * @description Request schema for import analysis. + */ + ImportAnalysisRequest: { + /** + * Documents + * @description Reference key to file metadata mapping + */ + documents: { + [key: string]: components["schemas"]["DocumentMetadata"]; + }; + /** + * Workspace Id + * Format: uuid + * @description Target workspace ID + */ + workspace_id: string; + }; + /** + * ImportAnalysisResponse + * @description Response schema for import analysis. + */ + ImportAnalysisResponse: { + /** + * Documents + * @description Reference key to document info mapping + */ + documents: { + [key: string]: components["schemas"]["DocumentImportAnalysis"]; + }; + /** @description Import analysis summary */ + summary: components["schemas"]["ImportSummary"]; + }; + /** + * ImportHistoryCreate + * @description Request schema for creating import history record. + */ + ImportHistoryCreate: { + /** + * Data + * @description Tabular dataframe data converted from BibTeX file + */ + data: Record; + /** + * Filename + * @description Import filename (.bib, .csv, etc.) + */ + filename: string; + /** + * Metadata + * @description Import metadata including ImportStatus and associated files for each reference + */ + metadata?: Record | null; + /** + * Workspace Id + * Format: uuid + * @description Target workspace ID + */ + workspace_id: string; + }; + /** + * ImportHistoryCreateResponse + * @description Response schema for import history creation (without user object). + */ + ImportHistoryCreateResponse: { + /** + * Created At + * Format: date-time + * @description Creation timestamp + */ + created_at: string; + /** + * Filename + * @description Import filename + */ + filename: string; + /** + * Id + * Format: uuid + * @description Import history record ID + */ + id: string; + /** + * Workspace Id + * Format: uuid + * @description Workspace ID + */ + workspace_id: string; + }; + /** ImportHistoryDataset */ + ImportHistoryDataset: { + /** + * History Id + * Format: uuid + * @description The ID of the import history to import from + */ + history_id: string; + /** @description The mapping configuration for the import */ + mapping: components["schemas"]["DatasetMapping"]; + }; + /** + * ImportHistoryResponse + * @description Response schema for import history creation and retrieval. + */ + ImportHistoryResponse: { + /** + * Created At + * Format: date-time + * @description Creation timestamp + */ + created_at: string; + /** + * Data + * @description Tabular dataframe data (only in detailed view) + */ + data?: Record | null; + /** + * Filename + * @description Import filename + */ + filename: string; + /** + * Id + * Format: uuid + * @description Import history record ID + */ + id: string; + /** + * Metadata + * @description Import metadata with status and files (in list and detailed view) + */ + metadata?: Record | null; + /** + * Username + * @description Username who created the import + */ + username: string; + /** + * Workspace Id + * Format: uuid + * @description Workspace ID + */ + workspace_id: string; + }; + /** + * ImportStatus + * @description Status of a document in the import process. + * @enum {string} + */ + ImportStatus: "add" | "update" | "skip" | "failed"; + /** + * ImportSummary + * @description Summary statistics for import analysis. + */ + ImportSummary: { + /** + * Add Count + * @description Number of documents to be added + */ + add_count: number; + /** + * Failed Count + * @description Number of documents that failed analysis + */ + failed_count: number; + /** + * Skip Count + * @description Number of documents to be skipped + */ + skip_count: number; + /** + * Total Documents + * @description Total number of documents analyzed + */ + total_documents: number; + /** + * Update Count + * @description Number of documents to be updated + */ + update_count: number; + }; + /** IntegerMetadataMetrics */ + IntegerMetadataMetrics: { + /** Max */ + max?: number | null; + /** Min */ + min?: number | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "integer"; + }; + /** IntegerMetadataProperty */ + IntegerMetadataProperty: { + /** Max */ + max?: number | null; + /** Min */ + min?: number | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "integer"; + }; + /** IntegerMetadataPropertyCreate */ + IntegerMetadataPropertyCreate: { + /** Max */ + max?: number | null; + /** Min */ + min?: number | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "integer"; + }; + /** Job */ + Job: { + /** Id */ + id: string; + status: components["schemas"]["JobStatus"]; + }; + /** + * JobStatus + * @description The Status of Job within its lifecycle at any given time. + * @enum {string} + */ + JobStatus: "created" | "queued" | "finished" | "failed" | "started" | "deferred" | "scheduled" | "stopped" | "canceled"; + /** LabelSelectionQuestionSettings */ + LabelSelectionQuestionSettings: { + /** Options */ + options: components["schemas"]["OptionSettings"][]; + /** + * Strict + * @default true + */ + strict: boolean; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "label_selection"; + /** Visible Options */ + visible_options?: number | null; + }; + /** LabelSelectionQuestionSettingsCreate */ + LabelSelectionQuestionSettingsCreate: { + /** Options */ + options: components["schemas"]["OptionSettingsCreate"][]; + /** + * Strict + * @default true + */ + strict: boolean; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "label_selection"; + /** Visible Options */ + visible_options?: number | null; + }; + /** LabelSelectionSettingsUpdate */ + LabelSelectionSettingsUpdate: { + /** Options */ + options?: components["schemas"]["OptionSettings"][] | null; + /** Strict */ + strict?: boolean | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "label_selection"; + /** Visible Options */ + visible_options?: number | null; + }; + /** + * LayoutItemOut + * @description One layout element, anchored by `self_ref`. + */ + LayoutItemOut: { + /** + * Content Layer + * @description Content layer, e.g. `body` or `furniture` + */ + content_layer?: string | null; + /** + * Html + * @description Rendered HTML, for tables + */ + html?: string | null; + /** + * Label + * @description DocItemLabel, e.g. `text`, `table`, `picture` + */ + label: string; + /** + * Level + * @description Heading level, when the item is a section header + */ + level?: number | null; + /** + * Parent Ref + * @description Reference of the parent node + */ + parent_ref?: string | null; + /** + * Prov + * @description One entry per page region + */ + prov?: components["schemas"]["ProvenanceOut"][]; + /** + * Reading Order + * @description Position in document reading order + */ + reading_order: number; + /** + * Self Ref + * @description Citation anchor, e.g. `#/texts/12` + */ + self_ref: string; + /** + * Text + * @description Item text, when it has any + */ + text?: string | null; + }; + /** + * LayoutPageOut + * @description Page geometry every bbox on that page is relative to. + */ + LayoutPageOut: { + /** + * Height + * @description Page height in points + */ + height: number; + /** + * Page No + * @description 1-indexed page number + */ + page_no: number; + /** + * Width + * @description Page width in points + */ + width: number; + }; + /** ListObjectsResponse */ + ListObjectsResponse: { + /** Objects */ + objects?: components["schemas"]["ObjectMetadata"][]; + }; + /** MetadataFilterScope */ + MetadataFilterScope: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + entity: "metadata"; + /** Metadata Property */ + metadata_property: string; + }; + /** MetadataProperties */ + MetadataProperties: { + /** Items */ + items: components["schemas"]["MetadataProperty"][]; + }; + /** MetadataProperty */ + MetadataProperty: { + /** + * Dataset Id + * Format: uuid + */ + dataset_id: string; + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** Name */ + name: string; + /** Settings */ + settings: components["schemas"]["TermsMetadataProperty"] | components["schemas"]["IntegerMetadataProperty"] | components["schemas"]["FloatMetadataProperty"]; + /** Title */ + title: string; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** Visible For Annotators */ + visible_for_annotators: boolean; + }; + /** MetadataPropertyCreate */ + MetadataPropertyCreate: { + /** Name */ + name: string; + /** Settings */ + settings: components["schemas"]["TermsMetadataPropertyCreate"] | components["schemas"]["IntegerMetadataPropertyCreate"] | components["schemas"]["FloatMetadataPropertyCreate"]; + /** + * Title + * @description The title of the metadata property + */ + title: string; + /** + * Visible For Annotators + * @default true + */ + visible_for_annotators: boolean; + }; + /** MetadataPropertyUpdate */ + MetadataPropertyUpdate: { + /** Title */ + title?: string | null; + /** Visible For Annotators */ + visible_for_annotators?: boolean | null; + }; + /** MultiLabelSelectionQuestionSettings */ + MultiLabelSelectionQuestionSettings: { + /** Options */ + options: components["schemas"]["OptionSettings"][]; + /** @default natural */ + options_order: components["schemas"]["OptionsOrder"]; + /** + * Strict + * @default true + */ + strict: boolean; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "multi_label_selection"; + /** Visible Options */ + visible_options?: number | null; + }; + /** MultiLabelSelectionQuestionSettingsCreate */ + MultiLabelSelectionQuestionSettingsCreate: { + /** Options */ + options: components["schemas"]["OptionSettingsCreate"][]; + /** @default natural */ + options_order: components["schemas"]["OptionsOrder"]; + /** + * Strict + * @default true + */ + strict: boolean; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "multi_label_selection"; + /** Visible Options */ + visible_options?: number | null; + }; + /** MultiLabelSelectionQuestionSettingsUpdate */ + MultiLabelSelectionQuestionSettingsUpdate: { + /** Options */ + options?: components["schemas"]["OptionSettings"][] | null; + options_order?: components["schemas"]["OptionsOrder"] | null; + /** Strict */ + strict?: boolean | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "multi_label_selection"; + /** Visible Options */ + visible_options?: number | null; + }; + /** ObjectMetadata */ + ObjectMetadata: { + /** Bucket Name */ + bucket_name: string; + /** Content Type */ + content_type?: string | null; + /** Etag */ + etag?: string | null; + /** Is Latest */ + is_latest?: boolean | null; + /** Last Modified */ + last_modified?: string | null; + /** Metadata */ + metadata?: Record | null; + /** Object Name */ + object_name: string; + /** Size */ + size?: number | null; + /** Version Id */ + version_id?: string | null; + /** Version Tag */ + version_tag?: string | null; + }; + /** OptionSettings */ + OptionSettings: { + /** Description */ + description?: string | null; + /** Text */ + text: string; + /** Value */ + value: string; + }; + /** OptionSettingsCreate */ + OptionSettingsCreate: { + /** Description */ + description?: string | null; + /** Text */ + text: string; + /** Value */ + value: string; + }; + /** + * OptionsOrder + * @enum {string} + */ + OptionsOrder: "natural" | "suggestion"; + /** Order */ + Order: { + order: components["schemas"]["SortOrder"]; + /** Scope */ + scope: components["schemas"]["RecordFilterScope"] | components["schemas"]["ResponseFilterScope"] | components["schemas"]["SuggestionFilterScope"] | components["schemas"]["MetadataFilterScope"]; + }; + /** PollTokenResponse */ + PollTokenResponse: { + /** Message */ + message?: string | null; + /** Status */ + status: string; + }; + /** + * ProvenanceOut + * @description Where an item came from: the page, the region, and the span of its own text. + */ + ProvenanceOut: { + /** @description Region on the page */ + bbox: components["schemas"]["BoundingBoxOut"]; + /** + * Charspan + * @description Item-local character span, not a document offset + */ + charspan: [ + number, + number + ]; + /** + * Page No + * @description 1-indexed page number + */ + page_no: number; + }; + /** Provider */ + Provider: { + /** Name */ + name: string; + }; + /** Providers */ + Providers: { + /** Items */ + items: components["schemas"]["Provider"][]; + }; + /** Query */ + Query: { + text?: components["schemas"]["TextQuery"] | null; + /** @description Query by vector similarity. Either 'record_id' or 'value' must be provided. Max number of records to return is limited to 1000. */ + vector?: components["schemas"]["VectorQuery"] | null; + }; + /** Question */ + Question: { + /** + * Dataset Id + * Format: uuid + */ + dataset_id: string; + /** Description */ + description?: string | null; + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** Name */ + name: string; + /** Required */ + required: boolean; + /** Settings */ + settings: components["schemas"]["TextQuestionSettings"] | components["schemas"]["RatingQuestionSettings"] | components["schemas"]["LabelSelectionQuestionSettings"] | components["schemas"]["MultiLabelSelectionQuestionSettings"] | components["schemas"]["RankingQuestionSettings"] | components["schemas"]["SpanQuestionSettings"] | components["schemas"]["TableQuestionSettings"]; + /** Title */ + title: string; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + }; + /** QuestionCreate */ + QuestionCreate: { + /** Description */ + description?: string | null; + /** + * Name + * @description The name of the question + */ + name: string; + /** Required */ + required?: boolean | null; + /** Settings */ + settings: components["schemas"]["TextQuestionSettingsCreate"] | components["schemas"]["RatingQuestionSettingsCreate"] | components["schemas"]["LabelSelectionQuestionSettingsCreate"] | components["schemas"]["MultiLabelSelectionQuestionSettingsCreate"] | components["schemas"]["RankingQuestionSettingsCreate"] | components["schemas"]["SpanQuestionSettingsCreate"] | components["schemas"]["TableQuestionSettingsCreate"]; + /** + * Title + * @description The title of the question + */ + title: string; + }; + /** QuestionUpdate */ + QuestionUpdate: { + /** Description */ + description?: string | null; + /** Settings */ + settings?: (components["schemas"]["TextQuestionSettingsUpdate"] | components["schemas"]["RatingQuestionSettingsUpdate"] | components["schemas"]["LabelSelectionSettingsUpdate"] | components["schemas"]["MultiLabelSelectionQuestionSettingsUpdate"] | components["schemas"]["RankingQuestionSettingsUpdate"] | components["schemas"]["SpanQuestionSettingsUpdate"] | components["schemas"]["TableQuestionSettingsUpdate"]) | null; + /** Title */ + title?: string | null; + }; + /** Questions */ + Questions: { + /** Items */ + items: components["schemas"]["Question"][]; + }; + /** RangeFilter */ + RangeFilter: { + /** Ge */ + ge?: number | string | null; + /** Le */ + le?: number | string | null; + /** Scope */ + scope: components["schemas"]["RecordFilterScope"] | components["schemas"]["ResponseFilterScope"] | components["schemas"]["SuggestionFilterScope"] | components["schemas"]["MetadataFilterScope"]; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "range"; + }; + /** RankingQuestionResponseValueItem */ + RankingQuestionResponseValueItem: { + /** Rank */ + rank?: number | null; + /** Value */ + value: string; + }; + /** RankingQuestionSettings */ + RankingQuestionSettings: { + /** Options */ + options: components["schemas"]["OptionSettings"][]; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "ranking"; + }; + /** RankingQuestionSettingsCreate */ + RankingQuestionSettingsCreate: { + /** Options */ + options: components["schemas"]["OptionSettingsCreate"][]; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "ranking"; + }; + /** RankingQuestionSettingsUpdate */ + RankingQuestionSettingsUpdate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "ranking"; + }; + /** RatingQuestionSettings */ + RatingQuestionSettings: { + /** Options */ + options: components["schemas"]["RatingQuestionSettingsOption"][]; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "rating"; + }; + /** RatingQuestionSettingsCreate */ + RatingQuestionSettingsCreate: { + /** Options */ + options: components["schemas"]["RatingQuestionSettingsOptionCreate"][]; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "rating"; + }; + /** RatingQuestionSettingsOption */ + RatingQuestionSettingsOption: { + /** Value */ + value: number; + }; + /** RatingQuestionSettingsOptionCreate */ + RatingQuestionSettingsOptionCreate: { + /** Value */ + value: number; + }; + /** RatingQuestionSettingsUpdate */ + RatingQuestionSettingsUpdate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "rating"; + }; + /** Record */ + Record: { + /** + * Dataset Id + * Format: uuid + */ + dataset_id: string; + /** External Id */ + external_id?: string | null; + /** Fields */ + fields: Record; + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** Metadata */ + metadata?: Record | null; + /** Reference */ + reference?: string | null; + /** Responses */ + responses?: components["schemas"]["Response"][] | null; + status: components["schemas"]["RecordStatus"]; + /** Suggestions */ + suggestions?: components["schemas"]["Suggestion"][] | null; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** Vectors */ + vectors?: { + [key: string]: number[]; + } | null; + }; + /** RecordCreate */ + RecordCreate: { + /** External Id */ + external_id?: string | null; + /** Fields */ + fields: { + [key: string]: string | components["schemas"]["ChatFieldValue"][] | Record | null; + }; + /** Metadata */ + metadata?: Record | null; + /** Reference */ + reference?: string | null; + /** Responses */ + responses?: (components["schemas"]["UserSubmittedResponseCreate"] | components["schemas"]["UserDraftResponseCreate"] | components["schemas"]["UserDiscardedResponseCreate"])[] | null; + /** Suggestions */ + suggestions?: components["schemas"]["SuggestionCreate"][] | null; + /** Vectors */ + vectors?: { + [key: string]: number[]; + } | null; + }; + /** RecordFilterScope */ + RecordFilterScope: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + entity: "record"; + /** + * Property + * @enum {string} + */ + property: "id" | "external_id" | "inserted_at" | "updated_at" | "status"; + }; + /** RecordResponseDistribution */ + RecordResponseDistribution: { + /** + * Discarded + * @default 0 + */ + discarded: number; + /** + * Draft + * @default 0 + */ + draft: number; + /** + * Submitted + * @default 0 + */ + submitted: number; + }; + /** + * RecordStatus + * @enum {string} + */ + RecordStatus: "pending" | "completed"; + /** RecordUpdate */ + RecordUpdate: { + /** Fields */ + fields?: { + [key: string]: string | components["schemas"]["ChatFieldValue"][] | Record | null; + } | null; + /** Metadata */ + metadata?: Record | null; + /** Reference */ + reference?: string | null; + /** Suggestions */ + suggestions?: components["schemas"]["SuggestionCreate"][] | null; + /** Vectors */ + vectors?: { + [key: string]: number[]; + } | null; + }; + /** RecordUpsert */ + RecordUpsert: { + /** External Id */ + external_id?: string | null; + /** Fields */ + fields?: { + [key: string]: string | components["schemas"]["ChatFieldValue"][] | Record | null; + } | null; + /** Id */ + id?: string | null; + /** Metadata */ + metadata?: Record | null; + /** Reference */ + reference?: string | null; + /** Responses */ + responses?: (components["schemas"]["UserSubmittedResponseCreate"] | components["schemas"]["UserDraftResponseCreate"] | components["schemas"]["UserDiscardedResponseCreate"])[] | null; + /** Suggestions */ + suggestions?: components["schemas"]["SuggestionCreate"][] | null; + /** Vectors */ + vectors?: { + [key: string]: number[]; + } | null; + }; + /** Records */ + Records: { + /** Items */ + items: components["schemas"]["Record"][]; + /** Total */ + total?: number | null; + }; + /** RecordsBulk */ + RecordsBulk: { + /** Items */ + items: components["schemas"]["Record"][]; + }; + /** RecordsBulkCreate */ + RecordsBulkCreate: { + /** Items */ + items: components["schemas"]["RecordCreate"][]; + }; + /** RecordsBulkUpsert */ + RecordsBulkUpsert: { + /** Items */ + items: components["schemas"]["RecordUpsert"][]; + }; + /** + * RefreshTokenRequest + * @description Refresh token request model + */ + RefreshTokenRequest: { + /** Refresh Token */ + refresh_token: string; + }; + /** Response */ + Response: { + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** + * Record Id + * Format: uuid + */ + record_id: string; + status: components["schemas"]["ResponseStatus"]; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** + * User Id + * Format: uuid + */ + user_id: string; + /** Values */ + values?: { + [key: string]: components["schemas"]["ResponseValue"]; + } | null; + }; + /** ResponseBulk */ + ResponseBulk: { + error?: components["schemas"]["ResponseBulkError"] | null; + item?: components["schemas"]["Response"] | null; + }; + /** ResponseBulkError */ + ResponseBulkError: { + /** Detail */ + detail: string; + }; + /** ResponseCreate */ + ResponseCreate: { + status: components["schemas"]["ResponseStatus"]; + /** Values */ + values?: { + [key: string]: components["schemas"]["ResponseValueCreate"]; + } | null; + }; + /** ResponseFilterScope */ + ResponseFilterScope: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + entity: "response"; + /** Property */ + property?: "status" | null; + /** Question */ + question?: string | null; + }; + /** ResponseMetrics */ + ResponseMetrics: { + /** Discarded */ + discarded: number; + /** Draft */ + draft: number; + /** Pending */ + pending: number; + /** Submitted */ + submitted: number; + /** Total */ + total: number; + }; + /** + * ResponseStatus + * @enum {string} + */ + ResponseStatus: "draft" | "submitted" | "discarded"; + /** ResponseValue */ + ResponseValue: { + /** Value */ + value: unknown; + }; + /** ResponseValueCreate */ + ResponseValueCreate: { + /** Value */ + value: components["schemas"]["SpanQuestionResponseValueItem"][] | components["schemas"]["RankingQuestionResponseValueItem"][] | string[] | number | string | Record | Record[]; + }; + /** ResponseValueUpdate */ + ResponseValueUpdate: { + /** Value */ + value: components["schemas"]["SpanQuestionResponseValueItem"][] | components["schemas"]["RankingQuestionResponseValueItem"][] | string[] | number | string | Record | Record[]; + }; + /** ResponsesBulk */ + ResponsesBulk: { + /** Items */ + items: components["schemas"]["ResponseBulk"][]; + }; + /** ResponsesBulkCreate */ + ResponsesBulkCreate: { + /** Items */ + items: (components["schemas"]["SubmittedResponseUpsert"] | components["schemas"]["DiscardedResponseUpsert"] | components["schemas"]["DraftResponseUpsert"])[]; + }; + /** + * RestartWorkflowRequest + * @description Request schema for restarting a workflow. + */ + RestartWorkflowRequest: { + /** + * Document Id + * Format: uuid + * @description Document UUID to restart + */ + document_id: string; + /** + * Failed Only + * @description Only restart failed jobs + * @default true + */ + failed_only: boolean; + }; + /** + * SchemaVersionCreate + * @description A new schema version. `body` is a Pandera `DataFrameSchema.to_json()` payload. + */ + SchemaVersionCreate: { + /** Body */ + body: string; + /** Review Widgets */ + review_widgets?: { + [key: string]: Record; + }; + }; + /** SchemaVersionRead */ + SchemaVersionRead: { + /** Checksum */ + checksum: string; + /** Created By */ + created_by: string | null; + /** + * Dataset Id + * Format: uuid + */ + dataset_id: string; + /** Etag */ + etag: string; + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** Object Key */ + object_key: string; + /** Object Version Id */ + object_version_id: string | null; + /** Parent Version Id */ + parent_version_id: string | null; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** Version */ + version: number; + }; + /** SearchRecord */ + SearchRecord: { + /** Query Score */ + query_score?: number | null; + record: components["schemas"]["Record"]; + }; + /** SearchRecordsQuery */ + SearchRecordsQuery: { + filters?: components["schemas"]["Filters"] | null; + query?: components["schemas"]["Query"] | null; + /** Sort */ + sort?: components["schemas"]["Order"][] | null; + }; + /** SearchRecordsResult */ + SearchRecordsResult: { + /** Items */ + items: components["schemas"]["SearchRecord"][]; + /** + * Total + * @default 0 + */ + total: number; + }; + /** SearchSuggestionOptions */ + SearchSuggestionOptions: { + /** Agents */ + agents: string[]; + question: components["schemas"]["SearchSuggestionOptionsQuestion"]; + }; + /** SearchSuggestionOptionsQuestion */ + SearchSuggestionOptionsQuestion: { + /** + * Id + * Format: uuid + */ + id: string; + /** Name */ + name: string; + }; + /** SearchSuggestionsOptions */ + SearchSuggestionsOptions: { + /** Items */ + items: components["schemas"]["SearchSuggestionOptions"][]; + }; + /** Settings */ + Settings: { + extralit: components["schemas"]["ExtralitSettings"]; + huggingface?: components["schemas"]["HuggingfaceSettings"] | null; + }; + /** + * SimilarityOrder + * @enum {string} + */ + SimilarityOrder: "most_similar" | "least_similar"; + /** + * SortOrder + * @enum {string} + */ + SortOrder: "asc" | "desc"; + /** SpanQuestionResponseValueItem */ + SpanQuestionResponseValueItem: { + /** End */ + end: number; + /** Label */ + label: string; + /** Start */ + start: number; + }; + /** SpanQuestionSettings */ + SpanQuestionSettings: { + /** + * Allow Character Annotation + * @description Allow character-level annotation + * @default true + */ + allow_character_annotation: boolean; + /** + * Allow Overlapping + * @description Allow spans overlapping + * @default false + */ + allow_overlapping: boolean; + /** Field */ + field: string; + /** Options */ + options: components["schemas"]["OptionSettings"][]; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "span"; + /** Visible Options */ + visible_options?: number | null; + }; + /** SpanQuestionSettingsCreate */ + SpanQuestionSettingsCreate: { + /** + * Allow Overlapping + * @default false + */ + allow_overlapping: boolean; + /** + * Field + * @description The name of the field + */ + field: string; + /** Options */ + options: components["schemas"]["OptionSettingsCreate"][]; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "span"; + /** Visible Options */ + visible_options?: number | null; + }; + /** SpanQuestionSettingsUpdate */ + SpanQuestionSettingsUpdate: { + /** Allow Overlapping */ + allow_overlapping?: boolean | null; + /** Options */ + options?: components["schemas"]["OptionSettings"][] | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "span"; + /** Visible Options */ + visible_options?: number | null; + }; + /** + * StartWorkflowRequest + * @description Request schema for starting a workflow. + */ + StartWorkflowRequest: { + /** + * Document Id + * Format: uuid + * @description Document UUID to process + */ + document_id: string; + /** + * Force + * @description Force restart if workflow already exists + * @default false + */ + force: boolean; + /** + * Layout Parser + * @description Layout parser to run (e.g. `pdf_inspector`, `pymupdf`); omit to skip layout extraction + */ + layout_parser?: string | null; + /** + * Reference + * @description Document reference for tracking + */ + reference?: string | null; + /** + * Timeout + * @description Max seconds to wait if wait=True + * @default 60 + */ + timeout: number | null; + /** + * Wait + * @description Wait for job to finish before returning + * @default true + */ + wait: boolean; + /** + * Workspace Name + * @description Workspace name + */ + workspace_name: string; + }; + /** + * StartWorkflowResponse + * @description Response schema for starting a workflow. + */ + StartWorkflowResponse: { + /** + * Document Id + * @description Document ID + */ + document_id: string; + /** + * Group Id + * @description RQ Group ID for tracking + */ + group_id: string; + /** + * Reference + * @description Document reference + */ + reference?: string | null; + /** + * Restarted Jobs + * @description List of restarted job IDs (for restarts) + */ + restarted_jobs?: string[] | null; + /** + * Status + * @description Initial workflow status + */ + status: string; + /** + * Workflow Id + * @description Workflow ID + */ + workflow_id: string; + }; + /** Status */ + Status: { + /** Memory */ + memory: Record; + /** Search Engine */ + search_engine: Record; + /** Version */ + version: string; + }; + /** SubmittedResponseUpdate */ + SubmittedResponseUpdate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + status: "submitted"; + /** Values */ + values: { + [key: string]: components["schemas"]["ResponseValueUpdate"]; + }; + }; + /** SubmittedResponseUpsert */ + SubmittedResponseUpsert: { + /** + * Record Id + * Format: uuid + */ + record_id: string; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + status: "submitted"; + /** Values */ + values: { + [key: string]: components["schemas"]["ResponseValueUpdate"]; + }; + }; + /** Suggestion */ + Suggestion: { + /** Agent */ + agent?: string | null; + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** + * Question Id + * Format: uuid + */ + question_id: string; + /** Score */ + score?: number | number[] | null; + type?: components["schemas"]["SuggestionType"] | null; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** Value */ + value: unknown; + }; + /** SuggestionCreate */ + SuggestionCreate: { + /** + * Agent + * @description Agent used to generate the suggestion + */ + agent?: string | null; + /** + * Question Id + * Format: uuid + */ + question_id: string; + /** + * Score + * @description The score assigned to the suggestion + */ + score?: number | number[] | null; + type?: components["schemas"]["SuggestionType"] | null; + /** Value */ + value: components["schemas"]["SpanQuestionResponseValueItem"][] | components["schemas"]["RankingQuestionResponseValueItem"][] | string[] | number | string | Record | Record[]; + }; + /** SuggestionFilterScope */ + SuggestionFilterScope: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + entity: "suggestion"; + /** + * Property + * @default value + */ + property: ("value" | "score" | "agent" | "type") | null; + /** + * Question + * @description The name of the question + */ + question: string; + }; + /** + * SuggestionType + * @enum {string} + */ + SuggestionType: "model" | "human" | "selection"; + /** Suggestions */ + Suggestions: { + /** Items */ + items: components["schemas"]["Suggestion"][]; + }; + /** TableFieldSettings */ + TableFieldSettings: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "table"; + }; + /** TableFieldSettingsCreate */ + TableFieldSettingsCreate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "table"; + }; + /** TableFieldSettingsUpdate */ + TableFieldSettingsUpdate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "table"; + }; + /** TableQuestionSettings */ + TableQuestionSettings: { + /** Columns */ + columns?: string[] | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "table"; + }; + /** TableQuestionSettingsCreate */ + TableQuestionSettingsCreate: { + /** Columns */ + columns?: string[] | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "table"; + }; + /** TableQuestionSettingsUpdate */ + TableQuestionSettingsUpdate: { + /** Columns */ + columns?: string[] | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "table"; + }; + /** TermCount */ + TermCount: { + /** Count */ + count: number; + /** Term */ + term: unknown; + }; + /** TermsFilter */ + TermsFilter: { + /** Scope */ + scope: components["schemas"]["RecordFilterScope"] | components["schemas"]["ResponseFilterScope"] | components["schemas"]["SuggestionFilterScope"] | components["schemas"]["MetadataFilterScope"]; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "terms"; + /** Values */ + values: string[]; + }; + /** TermsMetadataMetrics */ + TermsMetadataMetrics: { + /** Total */ + total: number; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "terms"; + /** Values */ + values?: components["schemas"]["TermCount"][]; + }; + /** TermsMetadataProperty */ + TermsMetadataProperty: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "terms"; + /** Values */ + values?: unknown[] | null; + }; + /** TermsMetadataPropertyCreate */ + TermsMetadataPropertyCreate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "terms"; + /** Values */ + values?: unknown[] | null; + }; + /** TextFieldSettings */ + TextFieldSettings: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "text"; + /** Use Markdown */ + use_markdown: boolean; + /** Use Table */ + use_table: boolean; + }; + /** TextFieldSettingsCreate */ + TextFieldSettingsCreate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "text"; + /** + * Use Markdown + * @default false + */ + use_markdown: boolean; + /** + * Use Table + * @default false + */ + use_table: boolean; + }; + /** TextFieldSettingsUpdate */ + TextFieldSettingsUpdate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "text"; + /** Use Markdown */ + use_markdown: boolean; + /** Use Table */ + use_table: boolean; + }; + /** TextQuery */ + TextQuery: { + /** Field */ + field?: string | null; + /** Q */ + q: string; + }; + /** TextQuestionSettings */ + TextQuestionSettings: { + /** Columns */ + columns?: string[] | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "text"; + /** + * Use Markdown + * @default false + */ + use_markdown: boolean; + /** + * Use Table + * @default false + */ + use_table: boolean; + }; + /** TextQuestionSettingsCreate */ + TextQuestionSettingsCreate: { + /** Columns */ + columns?: string[] | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "text"; + /** + * Use Markdown + * @default false + */ + use_markdown: boolean; + /** + * Use Table + * @default false + */ + use_table: boolean; + }; + /** TextQuestionSettingsUpdate */ + TextQuestionSettingsUpdate: { + /** Columns */ + columns?: string[] | null; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "text"; + /** Use Markdown */ + use_markdown?: boolean | null; + /** Use Table */ + use_table?: boolean | null; + }; + /** + * Token + * @description Token response model + */ + Token: { + /** Access Token */ + access_token: string; + /** Refresh Token */ + refresh_token?: string | null; + /** + * Token Type + * @default bearer + */ + token_type: string; + }; + /** User */ + User: { + /** Api Key */ + api_key: string; + /** First Name */ + first_name: string; + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** Last Name */ + last_name?: string | null; + role: components["schemas"]["UserRole"]; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** Username */ + username: string; + }; + /** UserCreate */ + UserCreate: { + /** + * First Name + * @description The first name for the user + */ + first_name: string; + /** Id */ + id?: string | null; + /** Last Name */ + last_name?: string | null; + /** + * Password + * @description The password for the user + */ + password: string; + role?: components["schemas"]["UserRole"] | null; + /** + * Username + * @description The username for the user + */ + username: string; + }; + /** UserDiscardedResponseCreate */ + UserDiscardedResponseCreate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + status: "discarded"; + /** + * User Id + * Format: uuid + */ + user_id: string; + /** Values */ + values?: { + [key: string]: components["schemas"]["ResponseValueCreate"]; + } | null; + }; + /** UserDraftResponseCreate */ + UserDraftResponseCreate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + status: "draft"; + /** + * User Id + * Format: uuid + */ + user_id: string; + /** Values */ + values: { + [key: string]: components["schemas"]["ResponseValueCreate"]; + }; + }; + /** UserProgress */ + UserProgress: { + /** + * @default { + * "discarded": 0, + * "draft": 0, + * "submitted": 0 + * } + */ + completed: components["schemas"]["RecordResponseDistribution"]; + /** + * @default { + * "discarded": 0, + * "draft": 0, + * "submitted": 0 + * } + */ + pending: components["schemas"]["RecordResponseDistribution"]; + /** Username */ + username: string; + }; + /** + * UserRole + * @enum {string} + */ + UserRole: "owner" | "admin" | "annotator"; + /** UserSubmittedResponseCreate */ + UserSubmittedResponseCreate: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + status: "submitted"; + /** + * User Id + * Format: uuid + */ + user_id: string; + /** Values */ + values: { + [key: string]: components["schemas"]["ResponseValueCreate"]; + }; + }; + /** UserUpdate */ + UserUpdate: { + /** First Name */ + first_name?: string | null; + /** Last Name */ + last_name?: string | null; + /** Password */ + password?: string | null; + role?: components["schemas"]["UserRole"] | null; + /** Username */ + username?: string | null; + }; + /** Users */ + Users: { + /** Items */ + items: components["schemas"]["User"][]; + }; + /** UsersProgress */ + UsersProgress: { + /** Users */ + users: components["schemas"]["UserProgress"][]; + }; + /** VectorQuery */ + VectorQuery: { + /** Name */ + name: string; + /** @default most_similar */ + order: components["schemas"]["SimilarityOrder"]; + /** Record Id */ + record_id?: string | null; + /** Value */ + value?: number[] | null; + }; + /** VectorSettings */ + VectorSettings: { + /** + * Dataset Id + * Format: uuid + */ + dataset_id: string; + /** Dimensions */ + dimensions: number; + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** Name */ + name: string; + /** Title */ + title: string; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + }; + /** VectorSettingsCreate */ + VectorSettingsCreate: { + /** Dimensions */ + dimensions: number; + /** + * Name + * @description The title of the vector settings + */ + name: string; + /** + * Title + * @description The title of the vector settings + */ + title: string; + }; + /** VectorSettingsUpdate */ + VectorSettingsUpdate: { + /** Title */ + title: string | null; + }; + /** VectorsSettings */ + VectorsSettings: { + /** Items */ + items: components["schemas"]["VectorSettings"][]; + }; + /** Version */ + Version: { + /** Version */ + version: string; + }; + /** Webhook */ + Webhook: { + /** Description */ + description?: string | null; + /** Enabled */ + enabled: boolean; + /** Events */ + events: components["schemas"]["WebhookEvent"][]; + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** Secret */ + secret: string; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** Url */ + url: string; + }; + /** WebhookCreate */ + WebhookCreate: { + /** Description */ + description?: string | null; + /** Events */ + events: components["schemas"]["WebhookEvent"][]; + /** + * Url + * Format: uri + */ + url: string; + }; + /** + * WebhookEvent + * @enum {string} + */ + WebhookEvent: "dataset.created" | "dataset.updated" | "dataset.deleted" | "dataset.published" | "record.created" | "record.updated" | "record.deleted" | "record.completed" | "response.created" | "response.updated" | "response.deleted"; + /** WebhookUpdate */ + WebhookUpdate: { + /** Description */ + description?: string | null; + /** Enabled */ + enabled?: boolean | null; + /** Events */ + events?: components["schemas"]["WebhookEvent"][] | null; + /** Url */ + url?: string | null; + }; + /** Webhooks */ + Webhooks: { + /** Items */ + items: components["schemas"]["Webhook"][]; + }; + /** + * WorkflowJobResult + * @description Schema for workflow job results with RQ Groups metadata. + */ + WorkflowJobResult: { + /** + * Completed At + * @description When job was completed + */ + completed_at?: string | null; + /** + * Completed Jobs + * @description Number of completed jobs in the group + */ + completed_jobs?: number | null; + /** + * Document Id + * @description Document ID associated with the job + */ + document_id?: string | null; + /** + * Error + * @description Error message if job failed + */ + error?: string | null; + /** + * Failed Jobs + * @description Number of failed jobs in the group + */ + failed_jobs?: number | null; + /** + * Group Id + * @description RQ Group ID for the workflow + */ + group_id?: string | null; + /** + * Group Progress + * @description Overall progress of the group (0.0-1.0) + */ + group_progress?: number | null; + /** + * Group Status + * @description Status of the entire RQ Group + */ + group_status?: string | null; + /** + * Id + * @description Job ID + */ + id: string; + /** + * Meta + * @description Additional job metadata + */ + meta?: Record | null; + /** + * Progress + * @description Job progress (0.0-1.0) + */ + progress?: number | null; + /** + * Reference + * @description Document reference for tracking + */ + reference?: string | null; + /** + * Result + * @description Job result data + */ + result?: Record | null; + /** + * Running Jobs + * @description Number of running jobs in the group + */ + running_jobs?: number | null; + /** + * Started At + * @description When job was started + */ + started_at?: string | null; + /** @description Job status */ + status: components["schemas"]["JobStatus"]; + /** + * Total Jobs + * @description Total number of jobs in the group + */ + total_jobs?: number | null; + /** + * Workflow Step + * @description Current workflow step + */ + workflow_step?: string | null; + /** + * Workspace Id + * @description Workspace ID + */ + workspace_id?: string | null; + }; + /** + * WorkflowStatusResponse + * @description Response schema for workflow status. + */ + WorkflowStatusResponse: { + /** + * Completed Jobs + * @description Number of completed jobs + */ + completed_jobs: number; + /** + * Created At + * @description When workflow was created + */ + created_at?: string | null; + /** + * Document Id + * @description Document ID + */ + document_id: string; + /** + * Error + * @description Error message if workflow failed + */ + error?: string | null; + /** + * Failed Jobs + * @description Number of failed jobs + */ + failed_jobs: number; + /** + * Group Id + * @description RQ Group ID + */ + group_id: string; + /** + * Jobs + * @description Detailed job information + */ + jobs?: Record[] | null; + /** + * Progress + * @description Progress percentage (0.0-1.0) + */ + progress: number; + /** + * Reference + * @description Document reference + */ + reference?: string | null; + /** + * Running Jobs + * @description Number of running jobs + */ + running_jobs: number; + /** + * Status + * @description Workflow status + */ + status: string; + /** + * Total Jobs + * @description Total number of jobs + */ + total_jobs: number; + /** + * Updated At + * @description When workflow was last updated + */ + updated_at?: string | null; + /** + * Workflow Id + * @description Workflow ID + */ + workflow_id: string; + /** + * Workflow Type + * @description Type of workflow + */ + workflow_type: string; + /** + * Workspace Id + * @description Workspace ID + */ + workspace_id?: string | null; + /** + * Workspace Name + * @description Workspace name + */ + workspace_name?: string | null; + }; + /** Workspace */ + Workspace: { + /** + * Id + * Format: uuid + */ + id: string; + /** + * Inserted At + * Format: date-time + */ + inserted_at: string; + /** Name */ + name: string; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + }; + /** WorkspaceCreate */ + WorkspaceCreate: { + /** Id */ + id?: string | null; + /** Name */ + name: string; + }; + /** WorkspaceDoctorCheckResult */ + WorkspaceDoctorCheckResult: { + /** Check Name */ + check_name: string; + /** + * Fixed + * @default false + */ + fixed: boolean; + /** Message */ + message: string; + /** Status */ + status: string; + }; + /** WorkspaceDoctorResponse */ + WorkspaceDoctorResponse: { + /** Checks */ + checks: components["schemas"]["WorkspaceDoctorCheckResult"][]; + /** Overall Status */ + overall_status: string; + /** + * Workspace Id + * Format: uuid + */ + workspace_id: string; + /** Workspace Name */ + workspace_name: string; + }; + /** WorkspaceProjection */ + WorkspaceProjection: { + /** Columns */ + columns: components["schemas"]["WorkspaceProjectionColumn"][]; + /** Rows */ + rows: components["schemas"]["WorkspaceProjectionRow"][]; + /** Total References */ + total_references: number; + }; + /** WorkspaceProjectionCell */ + WorkspaceProjectionCell: { + /** Agent */ + agent?: string | null; + /** + * Record Id + * Format: uuid + */ + record_id: string; + /** Score */ + score?: number | number[] | null; + /** + * Source + * @enum {string} + */ + source: "response" | "suggestion"; + /** Value */ + value?: unknown | null; + }; + /** WorkspaceProjectionColumn */ + WorkspaceProjectionColumn: { + /** + * Dataset Id + * Format: uuid + */ + dataset_id: string; + /** Dataset Name */ + dataset_name: string; + /** Dtype */ + dtype: string; + /** Name */ + name: string; + /** Question Name */ + question_name: string; + /** Sub Column */ + sub_column?: string | null; + }; + /** WorkspaceProjectionRow */ + WorkspaceProjectionRow: { + /** Cells */ + cells: { + [key: string]: components["schemas"]["WorkspaceProjectionCell"]; + }; + /** Reference */ + reference: string; + /** Row Index */ + row_index: number; + }; + /** WorkspaceUserCreate */ + WorkspaceUserCreate: { + /** + * User Id + * Format: uuid + */ + user_id: string; + }; + /** Workspaces */ + Workspaces: { + /** Items */ + items: components["schemas"]["Workspace"][]; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export interface operations { + initiate_github_login_auth_github_login_post: { + 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"]["DeviceFlowResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + logout_github_auth_github_logout_delete: { + 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; + }; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + poll_github_token_auth_github_poll_post: { + 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"]["PollTokenResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_auth_status_auth_github_status_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"]["AuthStatusResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + chat_chat_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ChatRequest"]; + }; + }; + responses: { + /** @description A `text/event-stream` of `data:` frames. Each frame carries either a content token, the literal `[DONE]` terminator, or a JSON object with an `error` key. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/event-stream": string; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_models_chat_models_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_dataset_datasets_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["DatasetCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Dataset"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_compatible_datasets_datasets_compatible_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CompatibleDatasetsRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Datasets"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_dataset_datasets__dataset_id__get: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Dataset"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_dataset_datasets__dataset_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Dataset"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + update_dataset_datasets__dataset_id__patch: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["DatasetUpdate"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Dataset"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + export_dataset_to_hub_datasets__dataset_id__export_post: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HubDatasetExport"]; + }; + }; + responses: { + /** @description Successful Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Job"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_dataset_fields_datasets__dataset_id__fields_get: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Fields"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_dataset_field_datasets__dataset_id__fields_post: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["FieldCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Field"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + import_dataset_from_import_history_datasets__dataset_id__import_post: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ImportHistoryDataset"]; + }; + }; + responses: { + /** @description Successful Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Job"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + import_dataset_from_hub_datasets__dataset_id__import_hub_post: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HubDataset"]; + }; + }; + responses: { + /** @description Successful Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Job"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_dataset_metadata_property_datasets__dataset_id__metadata_properties_post: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MetadataPropertyCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataProperty"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_dataset_progress_datasets__dataset_id__progress_get: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DatasetProgress"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + publish_dataset_datasets__dataset_id__publish_put: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Dataset"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_dataset_questions_datasets__dataset_id__questions_get: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Questions"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_dataset_question_datasets__dataset_id__questions_post: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["QuestionCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Question"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_dataset_records_datasets__dataset_id__records_get: { + parameters: { + query?: { + offset?: number; + limit?: number; + /** @description Filter records by exact `reference` match */ + reference?: string | null; + include?: string[] | null; + }; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Records"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_dataset_records_datasets__dataset_id__records_delete: { + parameters: { + query: { + /** @description A comma separated list with the IDs of the records to be removed */ + ids: string; + }; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + upsert_dataset_records_bulk_datasets__dataset_id__records_bulk_put: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RecordsBulkUpsert"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RecordsBulk"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_dataset_records_bulk_datasets__dataset_id__records_bulk_post: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RecordsBulkCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RecordsBulk"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + search_dataset_records_datasets__dataset_id__records_search_post: { + parameters: { + query?: { + offset?: number; + limit?: number; + include?: string[] | null; + }; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SearchRecordsQuery"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SearchRecordsResult"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_dataset_records_search_suggestions_options_datasets__dataset_id__records_search_suggestions_options_get: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SearchSuggestionsOptions"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_schema_versions_datasets__dataset_id__schema_versions_get: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SchemaVersionRead"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + publish_schema_version_datasets__dataset_id__schema_versions_post: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SchemaVersionCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SchemaVersionRead"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_schema_version_datasets__dataset_id__schema_versions__version__get: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + version: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SchemaVersionRead"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_dataset_users_progress_datasets__dataset_id__users_progress_get: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UsersProgress"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_dataset_vector_settings_datasets__dataset_id__vectors_settings_get: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VectorsSettings"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_dataset_vector_settings_datasets__dataset_id__vectors_settings_post: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["VectorSettingsCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VectorSettings"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_document_documents_get: { + parameters: { + query: { + /** @description Workspace ID */ + workspace_id: string; + /** @description Document ID */ + id?: string | null; + /** @description Document reference */ + reference?: string | null; + /** @description PubMed ID */ + pmid?: string | null; + /** @description DOI */ + doi?: string | null; + /** @description Maximum number of documents to return */ + limit?: number | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DocumentListItem"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + add_document_documents_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["Body_add_document_documents_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_documents_bulk_documents_bulk_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["Body_create_documents_bulk_documents_bulk_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DocumentsBulkResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_documents_documents_workspace__workspace_id__get: { + parameters: { + query?: never; + header?: never; + path: { + workspace_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DocumentListItem"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_documents_by_workspace_id_documents_workspace__workspace_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + workspace_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DocumentDelete"] | null; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": number; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_document_layout_documents__document_id__layout_get: { + parameters: { + query?: { + /** @description 1-indexed pages to include */ + pages?: number[] | null; + /** @description DocItemLabels to include, e.g. `table` */ + labels?: string[] | null; + }; + header?: never; + path: { + document_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DocumentLayoutOut"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + update_document_documents__id__patch: { + parameters: { + query?: never; + header?: never; + path: { + 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"]["DocumentListItem"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_field_fields__field_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + field_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Field"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + update_field_fields__field_id__patch: { + parameters: { + query?: never; + header?: never; + path: { + field_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["FieldUpdate"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Field"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_file_file__bucket___object__get: { + parameters: { + query?: { + version_id?: string | null; + }; + header?: { + range?: string | null; + "if-none-match"?: string | null; + }; + path: { + bucket: string; + object: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + put_file_file__bucket___object__post: { + parameters: { + query?: never; + header?: never; + path: { + bucket: string; + object: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["Body_put_file_file__bucket___object__post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ObjectMetadata"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_files_file__bucket___object__delete: { + parameters: { + query?: { + version_id?: string | null; + }; + header?: never; + path: { + bucket: string; + object: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + options_file_file__bucket___object__options: { + parameters: { + query?: never; + header?: never; + path: { + bucket: string; + object: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_objects_endpoint_files__bucket___prefix__get: { + parameters: { + query?: { + include_version?: unknown; + recursive?: unknown; + start_after?: string | null; + }; + header?: never; + path: { + bucket: string; + prefix: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ListObjectsResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + analyze_import_imports_analyze_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ImportAnalysisRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportAnalysisResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_import_histories_imports_history_get: { + parameters: { + query: { + workspace_id: string; + limit?: number | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportHistoryResponse"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_import_history_endpoint_imports_history_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ImportHistoryCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportHistoryCreateResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_import_history_imports_history__history_id__get: { + parameters: { + query?: never; + header?: never; + path: { + history_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImportHistoryResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_jobs_jobs__get: { + parameters: { + query?: { + /** @description Filter by document ID */ + document_id?: string | null; + /** @description Filter by document reference */ + reference?: string | null; + /** @description Filter by RQ Group ID */ + group_id?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WorkflowJobResult"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_job_jobs__job_id__get: { + parameters: { + query?: never; + header?: never; + path: { + job_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Job"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_current_user_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"]["User"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_current_user_datasets_me_datasets_get: { + parameters: { + query?: { + /** @description Filter by workspace_id */ + workspace_id?: string | null; + /** @description Filter by dataset name */ + name?: string | null; + /** @description Filter by dataset status */ + status?: components["schemas"]["DatasetStatus"] | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Datasets"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_workspace_projection_me_datasets_projection_get: { + parameters: { + query: { + /** @description The workspace to project */ + workspace_id: string; + /** @description Reference offset (not fan-out rows) */ + offset?: number; + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WorkspaceProjection"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_current_user_dataset_metadata_properties_me_datasets__dataset_id__metadata_properties_get: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataProperties"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_current_user_dataset_metrics_me_datasets__dataset_id__metrics_get: { + parameters: { + query?: never; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DatasetMetrics"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + search_current_user_dataset_records_me_datasets__dataset_id__records_search_post: { + parameters: { + query?: { + offset?: number; + limit?: number; + include?: string[] | null; + }; + header?: never; + path: { + dataset_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SearchRecordsQuery"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SearchRecordsResult"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_current_user_responses_bulk_me_responses_bulk_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ResponsesBulkCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ResponsesBulk"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_workspaces_me_me_workspaces_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"]["Workspaces"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_metadata_property_metadata_properties__metadata_property_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + metadata_property_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataProperty"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + update_metadata_property_metadata_properties__metadata_property_id__patch: { + parameters: { + query?: never; + header?: never; + path: { + metadata_property_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MetadataPropertyUpdate"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataProperty"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_metadata_property_metrics_metadata_properties__metadata_property_id__metrics_get: { + parameters: { + query?: never; + header?: never; + path: { + metadata_property_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TermsMetadataMetrics"] | components["schemas"]["IntegerMetadataMetrics"] | components["schemas"]["FloatMetadataMetrics"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + proxy_models_get: { + parameters: { + query?: never; + header?: never; + path: { + rest_of_path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Opaque `text/event-stream` relayed verbatim from the upstream model service. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/event-stream": string; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + proxy_models_put: { + parameters: { + query?: never; + header?: never; + path: { + rest_of_path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Opaque `text/event-stream` relayed verbatim from the upstream model service. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/event-stream": string; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + proxy_models_post: { + parameters: { + query?: never; + header?: never; + path: { + rest_of_path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Opaque `text/event-stream` relayed verbatim from the upstream model service. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/event-stream": string; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + proxy_models_delete: { + parameters: { + query?: never; + header?: never; + path: { + rest_of_path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Opaque `text/event-stream` relayed verbatim from the upstream model service. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/event-stream": string; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_providers_oauth2_providers_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"]["Providers"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_access_token_oauth2_providers__provider__access_token_get: { + parameters: { + query?: never; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Token"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_authentication_oauth2_providers__provider__authentication_get: { + parameters: { + query?: never; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_question_questions__question_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + question_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Question"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + update_question_questions__question_id__patch: { + parameters: { + query?: never; + header?: never; + path: { + question_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["QuestionUpdate"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Question"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_record_records__record_id__get: { + parameters: { + query?: never; + header?: never; + path: { + record_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Record"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_record_records__record_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + record_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Record"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + update_record_records__record_id__patch: { + parameters: { + query?: never; + header?: never; + path: { + record_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RecordUpdate"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Record"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_record_response_records__record_id__responses_post: { + parameters: { + query?: never; + header?: never; + path: { + record_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ResponseCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Response"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_record_suggestions_records__record_id__suggestions_get: { + parameters: { + query?: never; + header?: never; + path: { + record_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Suggestions"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + upsert_suggestion_records__record_id__suggestions_put: { + parameters: { + query?: never; + header?: never; + path: { + record_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SuggestionCreate"]; + }; + }; + responses: { + /** @description Suggestion updated */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Suggestion"]; + }; + }; + /** @description Suggestion created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Suggestion"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_record_suggestions_records__record_id__suggestions_delete: { + parameters: { + query: { + /** @description A comma separated list with the IDs of the suggestions to be removed */ + ids: string; + }; + header?: never; + path: { + record_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + update_response_responses__response_id__put: { + parameters: { + query?: never; + header?: never; + path: { + response_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SubmittedResponseUpdate"] | components["schemas"]["DiscardedResponseUpdate"] | components["schemas"]["DraftResponseUpdate"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Response"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_response_responses__response_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + response_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Response"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_settings_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"]["Settings"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_status_status_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"]["Status"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_suggestion_suggestions__suggestion_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + suggestion_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Suggestion"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_token_token_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": components["schemas"]["Body_create_token_token_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Token"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + refresh_token_token_refresh_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RefreshTokenRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Token"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_users_users_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"]["Users"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_user_users_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["User"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_user_users__user_id__get: { + parameters: { + query?: never; + header?: never; + path: { + user_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["User"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_user_users__user_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + user_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["User"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + update_user_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"]["User"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_user_workspaces_users__user_id__workspaces_get: { + parameters: { + query?: never; + header?: never; + path: { + user_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Workspaces"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_vector_settings_vectors_settings__vector_settings_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + vector_settings_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VectorSettings"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + update_vector_settings_vectors_settings__vector_settings_id__patch: { + parameters: { + query?: never; + header?: never; + path: { + vector_settings_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["VectorSettingsUpdate"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VectorSettings"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_version_version_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"]["Version"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_webhooks_webhooks_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"]["Webhooks"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_webhook_webhooks_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["WebhookCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Webhook"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_webhook_webhooks__webhook_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + webhook_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Webhook"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + update_webhook_webhooks__webhook_id__patch: { + parameters: { + query?: never; + header?: never; + path: { + webhook_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["WebhookUpdate"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Webhook"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + ping_webhook_webhooks__webhook_id__ping_post: { + parameters: { + query?: never; + header?: never; + path: { + webhook_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_workflows_workflows__get: { + parameters: { + query?: { + /** @description Filter by workspace name */ + workspace_name?: string | null; + /** @description Filter by status */ + status_filter?: string | null; + /** @description Maximum number of workflows to return */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WorkflowStatusResponse"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + restart_workflow_workflows_restart_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RestartWorkflowRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StartWorkflowResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + start_workflow_workflows_start_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["StartWorkflowRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StartWorkflowResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_workflow_status_endpoint_workflows_status_get: { + parameters: { + query?: { + /** @description Filter by document ID */ + document_id?: string | null; + /** @description Filter by document reference */ + reference?: string | null; + /** @description Filter by workspace name */ + workspace_name?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WorkflowStatusResponse"][]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_workspace_workspaces_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["WorkspaceCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Workspace"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + get_workspace_workspaces__workspace_id__get: { + parameters: { + query?: never; + header?: never; + path: { + workspace_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Workspace"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_workspace_workspaces__workspace_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + workspace_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Workspace"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + workspace_doctor_workspaces__workspace_id__doctor_post: { + parameters: { + query?: { + autofix?: boolean; + }; + header?: never; + path: { + workspace_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WorkspaceDoctorResponse"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + list_workspace_users_workspaces__workspace_id__users_get: { + parameters: { + query?: never; + header?: never; + path: { + workspace_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Users"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + create_workspace_user_workspaces__workspace_id__users_post: { + parameters: { + query?: never; + header?: never; + path: { + workspace_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["WorkspaceUserCreate"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["User"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; + delete_workspace_user_workspaces__workspace_id__users__user_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + workspace_id: string; + user_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["User"]; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::MissingDatasetRecordsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ForbiddenOperationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityNotFoundError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::EntityAlreadyExistsError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Unprocessable Content */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "extralit.api.errors::ValidationError", + * "params": { + * "extra": "error parameters" + * } + * } + * } + */ + "application/json": unknown; + }; + }; + /** @description Internal Server Error */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "detail": { + * "code": "builtins.TypeError" + * } + * } + */ + "application/json": unknown; + }; + }; + }; + }; +} diff --git a/extralit-frontend/v1/infrastructure/repositories/WorkspaceRepository.test.ts b/extralit-frontend/v1/infrastructure/repositories/WorkspaceRepository.test.ts new file mode 100644 index 000000000..b9369eeb4 --- /dev/null +++ b/extralit-frontend/v1/infrastructure/repositories/WorkspaceRepository.test.ts @@ -0,0 +1,48 @@ +import type { AxiosInstance } from "axios"; +import { describe, expect, it, vi } from "vitest"; +import { WorkspaceRepository } from "./WorkspaceRepository"; + +const BACKEND_WORKSPACE = { + id: "ws-1", + name: "my-workspace", + inserted_at: "2026-01-01T00:00:00", + updated_at: "2026-01-02T00:00:00", +}; + +const axiosMock = (impl: { get?: unknown; post?: unknown }) => + ({ + get: vi.fn(async () => ({ data: impl.get })), + post: vi.fn(async () => ({ data: impl.post })), + }) as unknown as AxiosInstance; + +describe("WorkspaceRepository", () => { + it("unwraps the items envelope when listing workspaces", async () => { + const axios = axiosMock({ get: { items: [BACKEND_WORKSPACE] } }); + + const workspaces = await new WorkspaceRepository(axios).getWorkspaces(); + + expect(axios.get).toHaveBeenCalledWith("/v1/me/workspaces", expect.anything()); + expect(workspaces).toEqual([BACKEND_WORKSPACE]); + }); + + it("returns the created workspace", async () => { + const axios = axiosMock({ post: BACKEND_WORKSPACE }); + + const created = await new WorkspaceRepository(axios).create("my-workspace"); + + expect(axios.post).toHaveBeenCalledWith("/v1/workspaces", { name: "my-workspace" }); + expect(created).toEqual(BACKEND_WORKSPACE); + }); + + it("surfaces a typed error when the request fails", async () => { + const axios = { + get: vi.fn(async () => { + throw { response: { status: 401 } }; + }), + } as unknown as AxiosInstance; + + await expect(new WorkspaceRepository(axios).getWorkspaces()).rejects.toMatchObject({ + type: "UNAUTHORIZED", + }); + }); +}); diff --git a/extralit-frontend/v1/infrastructure/repositories/WorkspaceRepository.ts b/extralit-frontend/v1/infrastructure/repositories/WorkspaceRepository.ts index 1d7c6ebb7..dd87e404f 100644 --- a/extralit-frontend/v1/infrastructure/repositories/WorkspaceRepository.ts +++ b/extralit-frontend/v1/infrastructure/repositories/WorkspaceRepository.ts @@ -1,11 +1,10 @@ import type { AxiosInstance } from "axios"; import { type Response } from "../types"; +import type { components } from "~/types/generated/api"; import { mediumCache, revalidateCache } from "./AxiosCache"; -interface BackendWorkspace { - id: string; - name: string; -} +// Sourced from openapi/v1.json; regenerate with `npm run api:types`. +type BackendWorkspace = components["schemas"]["Workspace"]; const enum WORKSPACES_API_ERRORS { GET_WORKSPACES = "GET_WORKSPACES", diff --git a/extralit-server/src/extralit_server/api/handlers/v1/chat.py b/extralit-server/src/extralit_server/api/handlers/v1/chat.py index f5ae076f0..18f694672 100644 --- a/extralit-server/src/extralit_server/api/handlers/v1/chat.py +++ b/extralit-server/src/extralit_server/api/handlers/v1/chat.py @@ -42,6 +42,30 @@ class ChatRequest(BaseModel): top_k: int = Field(default=5, ge=1, le=20, description="Number of documents to retrieve for RAG") +# Server-sent events carry raw text, not JSON, so the payload is described by example frames. +CHAT_STREAM_RESPONSES = { + 200: { + "description": ( + "A `text/event-stream` of `data:` frames. Each frame carries either a content token, " + "the literal `[DONE]` terminator, or a JSON object with an `error` key." + ), + "content": { + "text/event-stream": { + "schema": {"type": "string"}, + "examples": { + "token": {"summary": "Content token", "value": "data: Hello\n\n"}, + "done": {"summary": "Stream terminator", "value": "data: [DONE]\n\n"}, + "error": { + "summary": "Failure mid-stream", + "value": 'data: {"error": "Chat completion failed. Please try again."}\n\n', + }, + }, + } + }, + } +} + + def resolve_model_string(model: str) -> str: """Resolve user-friendly model names to LiteLLM ``github_copilot/`` model strings.""" model_mapping = { @@ -153,7 +177,7 @@ async def retrieve_context( return None -@router.post("/chat") +@router.post("/chat", response_class=StreamingResponse, responses=CHAT_STREAM_RESPONSES) async def chat( request: ChatRequest, db: Annotated[AsyncSession, Depends(get_async_db)], diff --git a/extralit-server/src/extralit_server/api/handlers/v1/models.py b/extralit-server/src/extralit_server/api/handlers/v1/models.py index c013cb73d..24d925781 100644 --- a/extralit-server/src/extralit_server/api/handlers/v1/models.py +++ b/extralit-server/src/extralit_server/api/handlers/v1/models.py @@ -18,8 +18,46 @@ client = httpx.AsyncClient(timeout=10.0) +PROXY_PATH = "/models/{rest_of_path:path}" + +# The proxied body belongs to an external service, so it is declared as an opaque SSE stream. +PROXY_RESPONSES = { + 200: { + "description": "Opaque `text/event-stream` relayed verbatim from the upstream model service.", + "content": {"text/event-stream": {"schema": {"type": "string"}}}, + } +} + + +# One route per method: `methods=[...]` on a single api_route makes FastAPI emit four +# operations sharing one operationId, which breaks typed-client generation. +@router.api_route( + PROXY_PATH, + methods=["DELETE"], + operation_id="proxy_models_delete", + response_class=StreamingResponse, + responses=PROXY_RESPONSES, +) +@router.api_route( + PROXY_PATH, + methods=["PUT"], + operation_id="proxy_models_put", + response_class=StreamingResponse, + responses=PROXY_RESPONSES, +) +@router.api_route( + PROXY_PATH, + methods=["POST"], + operation_id="proxy_models_post", + response_class=StreamingResponse, + responses=PROXY_RESPONSES, +) @router.api_route( - "/models/{rest_of_path:path}", methods=["GET", "POST", "PUT", "DELETE"], response_class=StreamingResponse + PROXY_PATH, + methods=["GET"], + operation_id="proxy_models_get", + response_class=StreamingResponse, + responses=PROXY_RESPONSES, ) async def proxy(request: Request, rest_of_path: str, current_user: User = Depends(auth.get_current_user)): url = urljoin(settings.extralit_url, rest_of_path) diff --git a/extralit-server/src/extralit_server/cli/openapi_dump.py b/extralit-server/src/extralit_server/cli/openapi_dump.py index e10afff3b..9b2845d8d 100644 --- a/extralit-server/src/extralit_server/cli/openapi_dump.py +++ b/extralit-server/src/extralit_server/cli/openapi_dump.py @@ -1,9 +1,26 @@ +import copy import json from pathlib import Path from typing import Optional import typer +# The contract version, not the package version: pinning it keeps the committed artifact +# stable across releases so `bump_version.py` never has to touch it. +CONTRACT_VERSION = "v1" + + +def build_openapi_document() -> str: + """Render the /api/v1 OpenAPI schema as deterministic JSON.""" + # Imported lazily so `--help` stays fast and settings load only when the command runs. + from extralit_server.api.routes import api_v1 + + # `FastAPI.openapi()` returns its cached `openapi_schema`; mutating it would change /docs. + schema = copy.deepcopy(api_v1.openapi()) + schema["info"]["version"] = CONTRACT_VERSION + + return json.dumps(schema, indent=2, sort_keys=True) + "\n" + def openapi_dump( output: Optional[Path] = typer.Option( @@ -14,10 +31,7 @@ def openapi_dump( ), ) -> None: """Dump the /api/v1 OpenAPI schema as deterministic JSON (for frontend type generation).""" - # Imported lazily so `--help` stays fast and settings load only when the command runs. - from extralit_server.api.routes import api_v1 - - text = json.dumps(api_v1.openapi(), indent=2, sort_keys=True) + "\n" + text = build_openapi_document() if output is not None: output.parent.mkdir(parents=True, exist_ok=True) diff --git a/extralit-server/src/extralit_server/errors/base_errors.py b/extralit-server/src/extralit_server/errors/base_errors.py index 8473c6ed0..e10440dfe 100644 --- a/extralit-server/src/extralit_server/errors/base_errors.py +++ b/extralit-server/src/extralit_server/errors/base_errors.py @@ -7,10 +7,14 @@ class ServerError(Exception): HTTP_STATUS: int = status.HTTP_500_INTERNAL_SERVER_ERROR + # Pinned, not derived from http.HTTPStatus: CPython renamed 422's phrase in 3.13, which + # made the generated OpenAPI document differ by interpreter version. + HTTP_DESCRIPTION: str = "Internal Server Error" @classmethod def api_documentation(cls): return { + "description": cls.HTTP_DESCRIPTION, "content": { "application/json": { "example": { @@ -45,6 +49,7 @@ class ValidationError(ServerError): """Generic data validation error out of request""" HTTP_STATUS = status.HTTP_422_UNPROCESSABLE_ENTITY + HTTP_DESCRIPTION = "Unprocessable Content" def __init__(self, error: pydantic.ValidationError | RequestValidationError): # Removing ctx and input from errors since they are new values. @@ -71,6 +76,7 @@ def __init__(self, error: Exception): @classmethod def api_documentation(cls): return { + "description": cls.HTTP_DESCRIPTION, "content": {"application/json": {"example": {"detail": {"code": "builtins.TypeError"}}}}, } @@ -79,6 +85,7 @@ class ForbiddenOperationError(ServerError): """Forbidden operation""" HTTP_STATUS = status.HTTP_403_FORBIDDEN + HTTP_DESCRIPTION = "Forbidden" def __init__(self, message: str | None = None): self.detail = message or "Operation not allowed" @@ -88,6 +95,7 @@ class UnauthorizedError(ServerError): """Unauthorized operation""" HTTP_STATUS = status.HTTP_401_UNAUTHORIZED + HTTP_DESCRIPTION = "Unauthorized" def __init__(self, message: str | None = None): self.detail = message or "Could not validate credentials" @@ -97,6 +105,7 @@ class BadRequestError(ServerError): """Generic bad request error""" HTTP_STATUS = status.HTTP_400_BAD_REQUEST + HTTP_DESCRIPTION = "Bad Request" def __init__(self, detail: str): self.message = detail @@ -114,6 +123,7 @@ class InactiveUserError(ServerError): """Inactive user error""" HTTP_STATUS = status.HTTP_400_BAD_REQUEST + HTTP_DESCRIPTION = "Bad Request" def __init__(self): self.detail = "Inactive user" @@ -139,6 +149,7 @@ class EntityAlreadyExistsError(ServerError): """Error raised when entity was created""" HTTP_STATUS = status.HTTP_409_CONFLICT + HTTP_DESCRIPTION = "Conflict" def __init__(self, name: str, type: type, workspace: str | None = None): self.name = name @@ -150,6 +161,7 @@ class EntityNotFoundError(ServerError): """Error raised when entity not found""" HTTP_STATUS = status.HTTP_404_NOT_FOUND + HTTP_DESCRIPTION = "Not Found" def __init__(self, name: str, type: type | str): self.name = name # TODO: rename to id diff --git a/extralit-server/tests/unit/test_openapi_drift.py b/extralit-server/tests/unit/test_openapi_drift.py new file mode 100644 index 000000000..1e32f50e5 --- /dev/null +++ b/extralit-server/tests/unit/test_openapi_drift.py @@ -0,0 +1,33 @@ +import difflib +from pathlib import Path + +from extralit_server.cli.openapi_dump import build_openapi_document + +COMMITTED_SPEC = Path(__file__).parents[3] / "openapi" / "v1.json" +REGENERATE = "cd extralit-server && uv run python -m extralit_server.cli openapi-dump -o ../openapi/v1.json" + + +def test_committed_openapi_matches_the_application(): + generated = build_openapi_document() + committed = COMMITTED_SPEC.read_text() + + if generated == committed: + return + + diff = list( + difflib.unified_diff( + committed.splitlines(keepends=True), + generated.splitlines(keepends=True), + fromfile=f"{COMMITTED_SPEC.name} (committed)", + tofile=f"{COMMITTED_SPEC.name} (generated)", + n=2, + ) + ) + truncated = "".join(diff[:120]) + if len(diff) > 120: + truncated += f"\n... {len(diff) - 120} more diff lines\n" + + raise AssertionError( + f"The API contract changed but {COMMITTED_SPEC.name} was not regenerated.\n\n" + f"{truncated}\nRegenerate with:\n {REGENERATE}\n" + ) diff --git a/extralit-server/tests/unit/test_openapi_dump.py b/extralit-server/tests/unit/test_openapi_dump.py index 8f7c33a80..ab8d5a057 100644 --- a/extralit-server/tests/unit/test_openapi_dump.py +++ b/extralit-server/tests/unit/test_openapi_dump.py @@ -19,6 +19,17 @@ def test_openapi_dump_writes_v1_schema(tmp_path): assert "/me/datasets" in schema["paths"] +def test_openapi_dump_pins_the_contract_version(tmp_path, monkeypatch): + monkeypatch.setattr("extralit_server.api.routes.api_v1.version", "9.9.9") + # openapi() memoises into openapi_schema, so the cache must be dropped for the bump to apply. + monkeypatch.setattr("extralit_server.api.routes.api_v1.openapi_schema", None) + output = tmp_path / "openapi.json" + + assert runner.invoke(app, ["openapi-dump", "--output", str(output)]).exit_code == 0 + + assert json.loads(output.read_text())["info"]["version"] == "v1" + + def test_openapi_dump_is_deterministic(tmp_path): first = tmp_path / "a.json" second = tmp_path / "b.json" diff --git a/extralit/src/extralit/_api/_records.py b/extralit/src/extralit/_api/_records.py index 00da7266c..1a88920b4 100644 --- a/extralit/src/extralit/_api/_records.py +++ b/extralit/src/extralit/_api/_records.py @@ -3,7 +3,6 @@ from uuid import UUID import httpx -from typing_extensions import deprecated from extralit._api._base import ResourceAPI from extralit._exceptions import api_error_handler @@ -124,29 +123,6 @@ def search( total = response_json["total"] return [(self._model_from_json(item["record"]), item["query_score"]) for item in json_items], total - @api_error_handler - @deprecated("Use `bulk_create` or `bulk_upsert` instead") - def create_many(self, dataset_id: UUID, records: builtins.list[RecordModel]) -> None: - record_dicts = [record.model_dump() for record in records] - response = self.http_client.post( - url=f"/api/v1/datasets/{dataset_id}/records", - json={"items": record_dicts}, - ) - response.raise_for_status() - self._log_message(message=f"Created {len(records)} records in dataset {dataset_id}") - # TODO: Once server returns the records, return them here - - @api_error_handler - @deprecated("Use `bulk_create` or `bulk_upsert` instead") - def update_many(self, dataset_id: UUID, records: builtins.list[RecordModel]) -> None: - record_dicts = [record.model_dump() for record in records] - response = self.http_client.patch( - url=f"/api/v1/datasets/{dataset_id}/records", - json={"items": record_dicts}, - ) - response.raise_for_status() - self._log_message(message=f"Updated {len(records)} records in dataset {dataset_id}") - @api_error_handler def delete_many(self, dataset_id: UUID, records: builtins.list[RecordModel]) -> None: record_ids = [str(record.id) for record in records] diff --git a/extralit/src/extralit/_api/_workspaces.py b/extralit/src/extralit/_api/_workspaces.py index b2e47b12c..34a447ba5 100644 --- a/extralit/src/extralit/_api/_workspaces.py +++ b/extralit/src/extralit/_api/_workspaces.py @@ -95,13 +95,6 @@ def get_by_name(self, name: str) -> Optional[WorkspaceModel]: self._log_message(message=f"Got workspace {workspace.name}") return workspace - @api_error_handler - def add_user(self, workspace_id: "UUID", user_id: "UUID") -> None: - # TODO: This method is already defined in UsersAPI and should be removed from here - response = self.http_client.post(f"{self.url_stub}/{workspace_id}/users/{user_id}") - response.raise_for_status() - self._log_message(message=f"Added user {user_id} to workspace {workspace_id}") - @api_error_handler def doctor(self, workspace_id: "UUID", autofix: bool = True) -> "WorkspaceDoctorResponse": """ diff --git a/extralit/tests/unit/test_api_contract.py b/extralit/tests/unit/test_api_contract.py new file mode 100644 index 000000000..c01322bab --- /dev/null +++ b/extralit/tests/unit/test_api_contract.py @@ -0,0 +1,124 @@ +"""Assert the endpoints `extralit._api` calls exist in the committed server contract. + +Reads `openapi/v1.json` as data โ€” the SDK never imports server code, so this catches a server +renaming or dropping an endpoint without needing a running instance. +""" + +import json +import re +from pathlib import Path + +import pytest + +COMMITTED_SPEC = Path(__file__).parents[3] / "openapi" / "v1.json" + +# The artifact is the v1 sub-app's own document, so its paths omit the mount prefix. +API_PREFIX = "/api/v1" + +HTTP_METHODS = ("get", "post", "put", "patch", "delete") + +# (method, url) pairs as they appear in extralit/src/extralit/_api/*.py. +SDK_ENDPOINTS = [ + # _datasets.py + ("POST", "/api/v1/datasets"), + ("GET", "/api/v1/datasets/{dataset_id}"), + ("PATCH", "/api/v1/datasets/{dataset_id}"), + ("DELETE", "/api/v1/datasets/{dataset_id}"), + ("GET", "/api/v1/datasets/{dataset_id}/progress"), + ("GET", "/api/v1/datasets/{dataset_id}/users/progress"), + ("PUT", "/api/v1/datasets/{dataset_id}/publish"), + ("GET", "/api/v1/me/datasets"), + # _workspaces.py + ("POST", "/api/v1/workspaces"), + ("GET", "/api/v1/workspaces/{workspace_id}"), + ("DELETE", "/api/v1/workspaces/{workspace_id}"), + ("GET", "/api/v1/me/workspaces"), + ("GET", "/api/v1/users/{user_id}/workspaces"), + ("POST", "/api/v1/workspaces/{workspace_id}/doctor"), + ("GET", "/api/v1/files/{workspace_name}/{path}"), + ("GET", "/api/v1/file/{workspace_name}/{path}"), + ("POST", "/api/v1/file/{workspace_name}/{path}"), + ("DELETE", "/api/v1/file/{workspace_name}/{path}"), + # _records.py + ("GET", "/api/v1/records/{record_id}"), + ("PATCH", "/api/v1/records/{record_id}"), + ("DELETE", "/api/v1/records/{record_id}"), + ("POST", "/api/v1/records/{record_id}/responses"), + ("GET", "/api/v1/datasets/{dataset_id}/records"), + ("DELETE", "/api/v1/datasets/{dataset_id}/records"), + ("POST", "/api/v1/datasets/{dataset_id}/records/search"), + ("POST", "/api/v1/datasets/{dataset_id}/records/bulk"), + ("PUT", "/api/v1/datasets/{dataset_id}/records/bulk"), + # _users.py + ("GET", "/api/v1/users"), + ("POST", "/api/v1/users"), + ("GET", "/api/v1/users/{user_id}"), + ("PATCH", "/api/v1/users/{user_id}"), + ("DELETE", "/api/v1/users/{user_id}"), + ("GET", "/api/v1/me"), + ("GET", "/api/v1/workspaces/{workspace_id}/users"), + ("POST", "/api/v1/workspaces/{workspace_id}/users"), + ("DELETE", "/api/v1/workspaces/{workspace_id}/users/{user_id}"), + # _fields.py + ("GET", "/api/v1/datasets/{dataset_id}/fields"), + ("POST", "/api/v1/datasets/{dataset_id}/fields"), + ("PATCH", "/api/v1/fields/{field_id}"), + ("DELETE", "/api/v1/fields/{field_id}"), + # _questions.py + ("GET", "/api/v1/datasets/{dataset_id}/questions"), + ("POST", "/api/v1/datasets/{dataset_id}/questions"), + ("PATCH", "/api/v1/questions/{question_id}"), + ("DELETE", "/api/v1/questions/{question_id}"), + # _metadata.py + ("POST", "/api/v1/datasets/{dataset_id}/metadata-properties"), + ("PATCH", "/api/v1/metadata-properties/{metadata_id}"), + ("DELETE", "/api/v1/metadata-properties/{metadata_id}"), + ("GET", "/api/v1/me/datasets/{dataset_id}/metadata-properties"), + # _vectors.py + ("GET", "/api/v1/datasets/{dataset_id}/vectors-settings"), + ("POST", "/api/v1/datasets/{dataset_id}/vectors-settings"), + ("PATCH", "/api/v1/vectors-settings/{vector_id}"), + ("DELETE", "/api/v1/vectors-settings/{vector_id}"), + # _webhooks.py + ("GET", "/api/v1/webhooks"), + ("POST", "/api/v1/webhooks"), + ("PATCH", "/api/v1/webhooks/{webhook_id}"), + ("DELETE", "/api/v1/webhooks/{webhook_id}"), + ("POST", "/api/v1/webhooks/{webhook_id}/ping"), + # _documents.py + ("GET", "/api/v1/documents"), + ("POST", "/api/v1/documents"), + ("PATCH", "/api/v1/documents/{document_id}"), + ("GET", "/api/v1/documents/workspace/{workspace_id}"), + ("DELETE", "/api/v1/documents/workspace/{workspace_id}"), +] + + +def _erase_param_names(path: str) -> str: + """SDK and server name the same path parameter differently; only the route shape matters.""" + return re.sub(r"\{[^}]*\}", "{}", path) + + +@pytest.fixture(scope="module") +def contract() -> set: + spec = json.loads(COMMITTED_SPEC.read_text()) + return { + (method.upper(), _erase_param_names(path)) + for path, operations in spec["paths"].items() + for method in operations + if method in HTTP_METHODS + } + + +@pytest.mark.parametrize(("method", "url"), SDK_ENDPOINTS) +def test_sdk_endpoint_exists_in_contract(contract, method, url): + path = _erase_param_names(url.removeprefix(API_PREFIX)) + + assert (method, path) in contract, ( + f"The SDK calls {method} {url}, which is not in {COMMITTED_SPEC.name}. " + f"Either the server dropped it or the SDK needs updating." + ) + + +def test_manifest_has_no_duplicates(): + assert len(SDK_ENDPOINTS) == len(set(SDK_ENDPOINTS)) diff --git a/openapi/v1.json b/openapi/v1.json new file mode 100644 index 000000000..2523e717c --- /dev/null +++ b/openapi/v1.json @@ -0,0 +1,23127 @@ +{ + "components": { + "schemas": { + "AuthStatusResponse": { + "properties": { + "authenticated": { + "title": "Authenticated", + "type": "boolean" + }, + "username": { + "title": "Username", + "type": "string" + } + }, + "required": [ + "authenticated", + "username" + ], + "title": "AuthStatusResponse", + "type": "object" + }, + "Body_add_document_documents_post": { + "properties": { + "document_create": { + "title": "Document Create", + "type": "string" + }, + "file_data": { + "anyOf": [ + { + "format": "binary", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "File Data" + } + }, + "required": [ + "document_create" + ], + "title": "Body_add_document_documents_post", + "type": "object" + }, + "Body_create_documents_bulk_documents_bulk_post": { + "properties": { + "documents_metadata": { + "description": "JSON string matching the DocumentsBulkCreate schema", + "title": "Documents Metadata", + "type": "string" + }, + "files": { + "items": { + "format": "binary", + "type": "string" + }, + "title": "Files", + "type": "array" + } + }, + "required": [ + "documents_metadata", + "files" + ], + "title": "Body_create_documents_bulk_documents_bulk_post", + "type": "object" + }, + "Body_create_token_token_post": { + "properties": { + "password": { + "title": "Password", + "type": "string" + }, + "username": { + "title": "Username", + "type": "string" + } + }, + "required": [ + "username", + "password" + ], + "title": "Body_create_token_token_post", + "type": "object" + }, + "Body_put_file_file__bucket___object__post": { + "properties": { + "file": { + "format": "binary", + "title": "File", + "type": "string" + } + }, + "required": [ + "file" + ], + "title": "Body_put_file_file__bucket___object__post", + "type": "object" + }, + "BoundingBoxOut": { + "description": "A rectangle in page points.", + "properties": { + "b": { + "description": "Bottom edge", + "title": "B", + "type": "number" + }, + "coord_origin": { + "default": "TOPLEFT", + "description": "Origin the coordinates are measured from", + "title": "Coord Origin", + "type": "string" + }, + "l": { + "description": "Left edge", + "title": "L", + "type": "number" + }, + "r": { + "description": "Right edge", + "title": "R", + "type": "number" + }, + "t": { + "description": "Top edge", + "title": "T", + "type": "number" + } + }, + "required": [ + "l", + "t", + "r", + "b" + ], + "title": "BoundingBoxOut", + "type": "object" + }, + "ChatFieldSettings": { + "properties": { + "type": { + "const": "chat", + "enum": [ + "chat" + ], + "title": "Type", + "type": "string" + }, + "use_markdown": { + "title": "Use Markdown", + "type": "boolean" + } + }, + "required": [ + "type", + "use_markdown" + ], + "title": "ChatFieldSettings", + "type": "object" + }, + "ChatFieldSettingsCreate": { + "properties": { + "type": { + "const": "chat", + "enum": [ + "chat" + ], + "title": "Type", + "type": "string" + }, + "use_markdown": { + "default": true, + "title": "Use Markdown", + "type": "boolean" + } + }, + "required": [ + "type" + ], + "title": "ChatFieldSettingsCreate", + "type": "object" + }, + "ChatFieldSettingsUpdate": { + "properties": { + "type": { + "const": "chat", + "enum": [ + "chat" + ], + "title": "Type", + "type": "string" + }, + "use_markdown": { + "title": "Use Markdown", + "type": "boolean" + } + }, + "required": [ + "type", + "use_markdown" + ], + "title": "ChatFieldSettingsUpdate", + "type": "object" + }, + "ChatFieldValue": { + "properties": { + "content": { + "maxLength": 20000, + "minLength": 1, + "title": "Content", + "type": "string" + }, + "role": { + "maxLength": 20, + "minLength": 1, + "title": "Role", + "type": "string" + } + }, + "required": [ + "role", + "content" + ], + "title": "ChatFieldValue", + "type": "object" + }, + "ChatMessage": { + "description": "A single chat message.", + "properties": { + "content": { + "description": "Content of the message", + "title": "Content", + "type": "string" + }, + "role": { + "description": "Role of the message sender (user, assistant, system)", + "title": "Role", + "type": "string" + } + }, + "required": [ + "role", + "content" + ], + "title": "ChatMessage", + "type": "object" + }, + "ChatRequest": { + "description": "Request model for chat endpoint.", + "properties": { + "dataset_id": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Optional dataset ID for RAG retrieval", + "title": "Dataset Id" + }, + "messages": { + "description": "List of chat messages", + "items": { + "$ref": "#/components/schemas/ChatMessage" + }, + "title": "Messages", + "type": "array" + }, + "model": { + "default": "copilot", + "description": "Model to use for chat (e.g., 'copilot')", + "title": "Model", + "type": "string" + }, + "stream": { + "default": true, + "description": "Whether to stream the response", + "title": "Stream", + "type": "boolean" + }, + "top_k": { + "default": 5, + "description": "Number of documents to retrieve for RAG", + "maximum": 20.0, + "minimum": 1.0, + "title": "Top K", + "type": "integer" + } + }, + "required": [ + "messages" + ], + "title": "ChatRequest", + "type": "object" + }, + "ColumnFieldSettings": { + "properties": { + "dtype": { + "title": "Dtype", + "type": "string" + }, + "nullable": { + "default": true, + "title": "Nullable", + "type": "boolean" + }, + "review": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Review" + }, + "type": { + "const": "column", + "enum": [ + "column" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type", + "dtype" + ], + "title": "ColumnFieldSettings", + "type": "object" + }, + "ColumnFieldSettingsCreate": { + "properties": { + "dtype": { + "title": "Dtype", + "type": "string" + }, + "nullable": { + "default": true, + "title": "Nullable", + "type": "boolean" + }, + "review": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Review" + }, + "type": { + "const": "column", + "enum": [ + "column" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type", + "dtype" + ], + "title": "ColumnFieldSettingsCreate", + "type": "object" + }, + "CompatibleDatasetsRequest": { + "properties": { + "column_names": { + "description": "List of column names to match against existing datasets", + "items": { + "type": "string" + }, + "title": "Column Names", + "type": "array" + }, + "workspace_id": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by workspace_id", + "title": "Workspace Id" + } + }, + "required": [ + "column_names" + ], + "title": "CompatibleDatasetsRequest", + "type": "object" + }, + "CustomFieldSettings": { + "properties": { + "advanced_mode": { + "title": "Advanced Mode", + "type": "boolean" + }, + "template": { + "title": "Template", + "type": "string" + }, + "type": { + "const": "custom", + "enum": [ + "custom" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type", + "template", + "advanced_mode" + ], + "title": "CustomFieldSettings", + "type": "object" + }, + "CustomFieldSettingsCreate": { + "properties": { + "advanced_mode": { + "default": false, + "title": "Advanced Mode", + "type": "boolean" + }, + "template": { + "title": "Template", + "type": "string" + }, + "type": { + "const": "custom", + "enum": [ + "custom" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type", + "template" + ], + "title": "CustomFieldSettingsCreate", + "type": "object" + }, + "CustomFieldSettingsUpdate": { + "properties": { + "advanced_mode": { + "title": "Advanced Mode", + "type": "boolean" + }, + "template": { + "title": "Template", + "type": "string" + }, + "type": { + "const": "custom", + "enum": [ + "custom" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type", + "template", + "advanced_mode" + ], + "title": "CustomFieldSettingsUpdate", + "type": "object" + }, + "Dataset": { + "properties": { + "allow_extra_metadata": { + "title": "Allow Extra Metadata", + "type": "boolean" + }, + "current_schema_version_id": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Current Schema Version Id" + }, + "distribution": { + "$ref": "#/components/schemas/DatasetOverlapDistribution" + }, + "guidelines": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Guidelines" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "last_activity_at": { + "format": "date-time", + "title": "Last Activity At", + "type": "string" + }, + "mapping": { + "anyOf": [ + { + "$ref": "#/components/schemas/DatasetMapping" + }, + { + "type": "null" + } + ] + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + }, + "name": { + "title": "Name", + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/DatasetStatus" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + }, + "workspace_id": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + "required": [ + "id", + "name", + "allow_extra_metadata", + "status", + "distribution", + "workspace_id", + "last_activity_at", + "inserted_at", + "updated_at" + ], + "title": "Dataset", + "type": "object" + }, + "DatasetCreate": { + "properties": { + "allow_extra_metadata": { + "default": true, + "title": "Allow Extra Metadata", + "type": "boolean" + }, + "distribution": { + "$ref": "#/components/schemas/DatasetOverlapDistributionCreate", + "default": { + "min_submitted": 1, + "strategy": "overlap" + } + }, + "guidelines": { + "anyOf": [ + { + "description": "Dataset guidelines", + "maxLength": 10000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Guidelines" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + }, + "name": { + "description": "Dataset name", + "maxLength": 200, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "workspace_id": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + "required": [ + "name", + "workspace_id" + ], + "title": "DatasetCreate", + "type": "object" + }, + "DatasetMapping": { + "properties": { + "fields": { + "items": { + "$ref": "#/components/schemas/DatasetMappingItem" + }, + "minItems": 1, + "title": "Fields", + "type": "array" + }, + "metadata": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/DatasetMappingItem" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": [], + "title": "Metadata" + }, + "source_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Dataset-level source identifier (format: import:{import_id}, dataset:{dataset_id}, hub:{repo_id})", + "title": "Source Id" + }, + "suggestions": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/DatasetMappingItem" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": [], + "title": "Suggestions" + }, + "target_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Dataset-level target identifier for workflow tracking", + "title": "Target Id" + } + }, + "required": [ + "fields" + ], + "title": "DatasetMapping", + "type": "object" + }, + "DatasetMappingItem": { + "properties": { + "source": { + "description": "The name of the column in the Hub Dataset", + "title": "Source", + "type": "string" + }, + "target": { + "description": "The name of the target resource in the Extralit Dataset", + "title": "Target", + "type": "string" + } + }, + "required": [ + "source", + "target" + ], + "title": "DatasetMappingItem", + "type": "object" + }, + "DatasetMetrics": { + "properties": { + "responses": { + "$ref": "#/components/schemas/ResponseMetrics" + } + }, + "required": [ + "responses" + ], + "title": "DatasetMetrics", + "type": "object" + }, + "DatasetOverlapDistribution": { + "properties": { + "min_submitted": { + "title": "Min Submitted", + "type": "integer" + }, + "strategy": { + "const": "overlap", + "enum": [ + "overlap" + ], + "title": "Strategy", + "type": "string" + } + }, + "required": [ + "strategy", + "min_submitted" + ], + "title": "DatasetOverlapDistribution", + "type": "object" + }, + "DatasetOverlapDistributionCreate": { + "properties": { + "min_submitted": { + "description": "Minimum number of submitted responses to consider a record as completed", + "minimum": 1.0, + "title": "Min Submitted", + "type": "integer" + }, + "strategy": { + "const": "overlap", + "enum": [ + "overlap" + ], + "title": "Strategy", + "type": "string" + } + }, + "required": [ + "strategy", + "min_submitted" + ], + "title": "DatasetOverlapDistributionCreate", + "type": "object" + }, + "DatasetOverlapDistributionUpdate": { + "properties": { + "min_submitted": { + "description": "Minimum number of submitted responses to consider a record as completed", + "minimum": 1.0, + "title": "Min Submitted", + "type": "integer" + }, + "strategy": { + "const": "overlap", + "enum": [ + "overlap" + ], + "title": "Strategy", + "type": "string" + } + }, + "required": [ + "strategy", + "min_submitted" + ], + "title": "DatasetOverlapDistributionUpdate", + "type": "object" + }, + "DatasetProgress": { + "properties": { + "completed": { + "title": "Completed", + "type": "integer" + }, + "pending": { + "title": "Pending", + "type": "integer" + }, + "total": { + "title": "Total", + "type": "integer" + }, + "users": { + "items": { + "$ref": "#/components/schemas/UserProgress" + }, + "title": "Users", + "type": "array" + } + }, + "required": [ + "total", + "completed", + "pending" + ], + "title": "DatasetProgress", + "type": "object" + }, + "DatasetStatus": { + "enum": [ + "draft", + "ready" + ], + "title": "DatasetStatus", + "type": "string" + }, + "DatasetUpdate": { + "properties": { + "allow_extra_metadata": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Allow Extra Metadata" + }, + "distribution": { + "anyOf": [ + { + "$ref": "#/components/schemas/DatasetOverlapDistributionUpdate" + }, + { + "type": "null" + } + ] + }, + "guidelines": { + "anyOf": [ + { + "description": "Dataset guidelines", + "maxLength": 10000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Guidelines" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + }, + "name": { + "anyOf": [ + { + "description": "Dataset name", + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name" + } + }, + "title": "DatasetUpdate", + "type": "object" + }, + "Datasets": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Dataset" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "Datasets", + "type": "object" + }, + "DeviceFlowResponse": { + "description": "Returned to the browser - no device_code.", + "properties": { + "expires_in": { + "title": "Expires In", + "type": "integer" + }, + "interval": { + "title": "Interval", + "type": "integer" + }, + "user_code": { + "title": "User Code", + "type": "string" + }, + "verification_uri": { + "title": "Verification Uri", + "type": "string" + } + }, + "required": [ + "user_code", + "verification_uri", + "expires_in", + "interval" + ], + "title": "DeviceFlowResponse", + "type": "object" + }, + "DiscardedResponseUpdate": { + "properties": { + "status": { + "const": "discarded", + "enum": [ + "discarded" + ], + "title": "Status", + "type": "string" + }, + "values": { + "anyOf": [ + { + "additionalProperties": { + "$ref": "#/components/schemas/ResponseValueUpdate" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Values" + } + }, + "required": [ + "status" + ], + "title": "DiscardedResponseUpdate", + "type": "object" + }, + "DiscardedResponseUpsert": { + "properties": { + "record_id": { + "format": "uuid", + "title": "Record Id", + "type": "string" + }, + "status": { + "const": "discarded", + "enum": [ + "discarded" + ], + "title": "Status", + "type": "string" + }, + "values": { + "anyOf": [ + { + "additionalProperties": { + "$ref": "#/components/schemas/ResponseValueUpdate" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Values" + } + }, + "required": [ + "status", + "record_id" + ], + "title": "DiscardedResponseUpsert", + "type": "object" + }, + "DocumentCreate": { + "properties": { + "doi": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The DOI of the document.", + "title": "Doi" + }, + "file_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The name of the file.", + "title": "File Name" + }, + "id": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Additional metadata for the document", + "title": "Metadata" + }, + "pmid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The PubMed ID of the document.", + "title": "Pmid" + }, + "reference": { + "description": "Extraction reference for the document", + "title": "Reference", + "type": "string" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "A URL to the PDF document if it is public available online. If the `file_data` is uploaded, this field should be left empty.", + "title": "Url" + }, + "workspace_id": { + "description": "The workspace ID where the document will be uploaded.", + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + "required": [ + "workspace_id", + "reference" + ], + "title": "DocumentCreate", + "type": "object" + }, + "DocumentDelete": { + "description": "Query Schema for deleting a document (within a Workspace).", + "properties": { + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "reference": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Extraction reference for the document", + "title": "Reference" + } + }, + "required": [ + "id" + ], + "title": "DocumentDelete", + "type": "object" + }, + "DocumentImportAnalysis": { + "description": "Information about a document in the import analysis response.", + "properties": { + "associated_files": { + "description": "PDF filenames matched to this reference", + "items": { + "type": "string" + }, + "title": "Associated Files", + "type": "array" + }, + "document_create": { + "$ref": "#/components/schemas/DocumentCreate", + "description": "Document creation data" + }, + "status": { + "$ref": "#/components/schemas/ImportStatus", + "description": "Import status (add, update, skip, failed)" + }, + "validation_errors": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "Validation error messages if any", + "title": "Validation Errors" + } + }, + "required": [ + "document_create", + "status" + ], + "title": "DocumentImportAnalysis", + "type": "object" + }, + "DocumentLayoutOut": { + "description": "Extracted layout for one document.", + "properties": { + "docling_version": { + "description": "docling-core schema version of the stored document", + "title": "Docling Version", + "type": "string" + }, + "document_id": { + "description": "Document ID", + "title": "Document Id", + "type": "string" + }, + "items": { + "description": "Layout items in reading order", + "items": { + "$ref": "#/components/schemas/LayoutItemOut" + }, + "title": "Items", + "type": "array" + }, + "num_items": { + "description": "Number of items in this response", + "title": "Num Items", + "type": "integer" + }, + "num_pages": { + "description": "Number of pages in this response", + "title": "Num Pages", + "type": "integer" + }, + "pages": { + "description": "Page geometry", + "items": { + "$ref": "#/components/schemas/LayoutPageOut" + }, + "title": "Pages", + "type": "array" + } + }, + "required": [ + "document_id", + "docling_version", + "num_items", + "num_pages" + ], + "title": "DocumentLayoutOut", + "type": "object" + }, + "DocumentListItem": { + "properties": { + "doi": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Doi" + }, + "file_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "File Name" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + }, + "pmid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Pmid" + }, + "reference": { + "title": "Reference", + "type": "string" + }, + "thumbnail_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "URL to the document thumbnail image", + "title": "Thumbnail Url" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + }, + "url": { + "title": "Url", + "type": "string" + }, + "workspace_id": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + "required": [ + "id", + "workspace_id", + "url", + "file_name", + "reference", + "pmid", + "doi", + "inserted_at", + "updated_at" + ], + "title": "DocumentListItem", + "type": "object" + }, + "DocumentMetadata": { + "description": "Metadata information for a document to be imported.", + "properties": { + "associated_files": { + "description": "PDF file metadata (not contents)", + "items": { + "$ref": "#/components/schemas/FileInfo" + }, + "title": "Associated Files", + "type": "array" + }, + "document_create": { + "$ref": "#/components/schemas/DocumentCreate", + "description": "Document creation data" + } + }, + "required": [ + "document_create" + ], + "title": "DocumentMetadata", + "type": "object" + }, + "DocumentUpdate": { + "description": "Schema for updating a document.", + "properties": { + "doi": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The DOI of the document.", + "title": "Doi" + }, + "file_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The name of the file.", + "title": "File Name" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Additional metadata for the document", + "title": "Metadata" + }, + "pmid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The PubMed ID of the document.", + "title": "Pmid" + }, + "reference": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Extraction reference for the document", + "title": "Reference" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "A URL to the PDF document if it is publicly available online.", + "title": "Url" + } + }, + "title": "DocumentUpdate", + "type": "object" + }, + "DocumentsBulkResponse": { + "description": "Response schema for bulk document upload.", + "properties": { + "failed_validations": { + "description": "Files that failed validation", + "items": { + "type": "string" + }, + "title": "Failed Validations", + "type": "array" + }, + "job_ids": { + "additionalProperties": { + "type": "string" + }, + "description": "Reference key to job_id mapping for frontend tracking", + "title": "Job Ids", + "type": "object" + }, + "total_documents": { + "description": "Total number of documents in the request", + "title": "Total Documents", + "type": "integer" + } + }, + "required": [ + "job_ids", + "total_documents" + ], + "title": "DocumentsBulkResponse", + "type": "object" + }, + "DraftResponseUpdate": { + "properties": { + "status": { + "const": "draft", + "enum": [ + "draft" + ], + "title": "Status", + "type": "string" + }, + "values": { + "anyOf": [ + { + "additionalProperties": { + "$ref": "#/components/schemas/ResponseValueUpdate" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Values" + } + }, + "required": [ + "status" + ], + "title": "DraftResponseUpdate", + "type": "object" + }, + "DraftResponseUpsert": { + "properties": { + "record_id": { + "format": "uuid", + "title": "Record Id", + "type": "string" + }, + "status": { + "const": "draft", + "enum": [ + "draft" + ], + "title": "Status", + "type": "string" + }, + "values": { + "anyOf": [ + { + "additionalProperties": { + "$ref": "#/components/schemas/ResponseValueUpdate" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Values" + } + }, + "required": [ + "status", + "record_id" + ], + "title": "DraftResponseUpsert", + "type": "object" + }, + "ExtralitSettings": { + "properties": { + "share_your_progress_enabled": { + "default": false, + "title": "Share Your Progress Enabled", + "type": "boolean" + }, + "show_huggingface_space_persistent_storage_warning": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Show Huggingface Space Persistent Storage Warning" + } + }, + "title": "ExtralitSettings", + "type": "object" + }, + "Field": { + "properties": { + "dataset_id": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "required": { + "title": "Required", + "type": "boolean" + }, + "settings": { + "discriminator": { + "mapping": { + "chat": "#/components/schemas/ChatFieldSettings", + "column": "#/components/schemas/ColumnFieldSettings", + "custom": "#/components/schemas/CustomFieldSettings", + "image": "#/components/schemas/ImageFieldSettings", + "table": "#/components/schemas/TableFieldSettings", + "text": "#/components/schemas/TextFieldSettings" + }, + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/TextFieldSettings" + }, + { + "$ref": "#/components/schemas/ImageFieldSettings" + }, + { + "$ref": "#/components/schemas/ChatFieldSettings" + }, + { + "$ref": "#/components/schemas/CustomFieldSettings" + }, + { + "$ref": "#/components/schemas/TableFieldSettings" + }, + { + "$ref": "#/components/schemas/ColumnFieldSettings" + } + ], + "title": "Settings" + }, + "title": { + "title": "Title", + "type": "string" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + } + }, + "required": [ + "id", + "name", + "title", + "required", + "settings", + "dataset_id", + "inserted_at", + "updated_at" + ], + "title": "Field", + "type": "object" + }, + "FieldCreate": { + "properties": { + "name": { + "description": "The name of the field", + "maxLength": 200, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "required": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Required" + }, + "settings": { + "discriminator": { + "mapping": { + "chat": "#/components/schemas/ChatFieldSettingsCreate", + "column": "#/components/schemas/ColumnFieldSettingsCreate", + "custom": "#/components/schemas/CustomFieldSettingsCreate", + "image": "#/components/schemas/ImageFieldSettingsCreate", + "table": "#/components/schemas/TableFieldSettingsCreate", + "text": "#/components/schemas/TextFieldSettingsCreate" + }, + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/TextFieldSettingsCreate" + }, + { + "$ref": "#/components/schemas/ImageFieldSettingsCreate" + }, + { + "$ref": "#/components/schemas/ChatFieldSettingsCreate" + }, + { + "$ref": "#/components/schemas/CustomFieldSettingsCreate" + }, + { + "$ref": "#/components/schemas/TableFieldSettingsCreate" + }, + { + "$ref": "#/components/schemas/ColumnFieldSettingsCreate" + } + ], + "title": "Settings" + }, + "title": { + "description": "The title of the field", + "maxLength": 500, + "minLength": 1, + "title": "Title", + "type": "string" + } + }, + "required": [ + "name", + "title", + "settings" + ], + "title": "FieldCreate", + "type": "object" + }, + "FieldUpdate": { + "properties": { + "settings": { + "anyOf": [ + { + "discriminator": { + "mapping": { + "chat": "#/components/schemas/ChatFieldSettingsUpdate", + "custom": "#/components/schemas/CustomFieldSettingsUpdate", + "image": "#/components/schemas/ImageFieldSettingsUpdate", + "table": "#/components/schemas/TableFieldSettingsUpdate", + "text": "#/components/schemas/TextFieldSettingsUpdate" + }, + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/TextFieldSettingsUpdate" + }, + { + "$ref": "#/components/schemas/ImageFieldSettingsUpdate" + }, + { + "$ref": "#/components/schemas/ChatFieldSettingsUpdate" + }, + { + "$ref": "#/components/schemas/CustomFieldSettingsUpdate" + }, + { + "$ref": "#/components/schemas/TableFieldSettingsUpdate" + } + ] + }, + { + "type": "null" + } + ], + "title": "Settings" + }, + "title": { + "anyOf": [ + { + "description": "The title of the field", + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title" + } + }, + "title": "FieldUpdate", + "type": "object" + }, + "Fields": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Field" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "Fields", + "type": "object" + }, + "FileInfo": { + "description": "Information about a file to be imported.", + "properties": { + "filename": { + "description": "Name of the file", + "title": "Filename", + "type": "string" + }, + "size": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "File size in bytes for comparison", + "title": "Size" + } + }, + "required": [ + "filename" + ], + "title": "FileInfo", + "type": "object" + }, + "Filters": { + "properties": { + "and": { + "anyOf": [ + { + "items": { + "discriminator": { + "mapping": { + "range": "#/components/schemas/RangeFilter", + "terms": "#/components/schemas/TermsFilter" + }, + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/TermsFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" + } + ] + }, + "maxItems": 50, + "minItems": 1, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "And" + } + }, + "title": "Filters", + "type": "object" + }, + "FloatMetadataMetrics": { + "properties": { + "max": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Max" + }, + "min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Min" + }, + "type": { + "const": "float", + "default": "float", + "enum": [ + "float" + ], + "title": "Type", + "type": "string" + } + }, + "title": "FloatMetadataMetrics", + "type": "object" + }, + "FloatMetadataProperty": { + "properties": { + "max": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Max" + }, + "min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Min" + }, + "type": { + "const": "float", + "enum": [ + "float" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "FloatMetadataProperty", + "type": "object" + }, + "FloatMetadataPropertyCreate": { + "properties": { + "max": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Max" + }, + "min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Min" + }, + "type": { + "const": "float", + "enum": [ + "float" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "FloatMetadataPropertyCreate", + "type": "object" + }, + "HubDataset": { + "properties": { + "mapping": { + "$ref": "#/components/schemas/DatasetMapping" + }, + "name": { + "title": "Name", + "type": "string" + }, + "split": { + "title": "Split", + "type": "string" + }, + "subset": { + "title": "Subset", + "type": "string" + } + }, + "required": [ + "name", + "subset", + "split", + "mapping" + ], + "title": "HubDataset", + "type": "object" + }, + "HubDatasetExport": { + "properties": { + "name": { + "minLength": 1, + "title": "Name", + "type": "string" + }, + "private": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": false, + "title": "Private" + }, + "split": { + "anyOf": [ + { + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": "train", + "title": "Split" + }, + "subset": { + "anyOf": [ + { + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": "default", + "title": "Subset" + }, + "token": { + "minLength": 1, + "title": "Token", + "type": "string" + } + }, + "required": [ + "name", + "token" + ], + "title": "HubDatasetExport", + "type": "object" + }, + "HuggingfaceSettings": { + "properties": { + "space_author_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Space Author Name" + }, + "space_host": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Space Host" + }, + "space_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Space Id" + }, + "space_persistent_storage_enabled": { + "title": "Space Persistent Storage Enabled", + "type": "boolean" + }, + "space_repo_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Space Repo Name" + }, + "space_subdomain": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Space Subdomain" + }, + "space_title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Space Title" + } + }, + "required": [ + "space_id", + "space_title", + "space_subdomain", + "space_host", + "space_repo_name", + "space_author_name", + "space_persistent_storage_enabled" + ], + "title": "HuggingfaceSettings", + "type": "object" + }, + "ImageFieldSettings": { + "properties": { + "type": { + "const": "image", + "enum": [ + "image" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "ImageFieldSettings", + "type": "object" + }, + "ImageFieldSettingsCreate": { + "properties": { + "type": { + "const": "image", + "enum": [ + "image" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "ImageFieldSettingsCreate", + "type": "object" + }, + "ImageFieldSettingsUpdate": { + "properties": { + "type": { + "const": "image", + "enum": [ + "image" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "ImageFieldSettingsUpdate", + "type": "object" + }, + "ImportAnalysisRequest": { + "description": "Request schema for import analysis.", + "properties": { + "documents": { + "additionalProperties": { + "$ref": "#/components/schemas/DocumentMetadata" + }, + "description": "Reference key to file metadata mapping", + "title": "Documents", + "type": "object" + }, + "workspace_id": { + "description": "Target workspace ID", + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + "required": [ + "workspace_id", + "documents" + ], + "title": "ImportAnalysisRequest", + "type": "object" + }, + "ImportAnalysisResponse": { + "description": "Response schema for import analysis.", + "properties": { + "documents": { + "additionalProperties": { + "$ref": "#/components/schemas/DocumentImportAnalysis" + }, + "description": "Reference key to document info mapping", + "title": "Documents", + "type": "object" + }, + "summary": { + "$ref": "#/components/schemas/ImportSummary", + "description": "Import analysis summary" + } + }, + "required": [ + "documents", + "summary" + ], + "title": "ImportAnalysisResponse", + "type": "object" + }, + "ImportHistoryCreate": { + "description": "Request schema for creating import history record.", + "properties": { + "data": { + "description": "Tabular dataframe data converted from BibTeX file", + "title": "Data", + "type": "object" + }, + "filename": { + "description": "Import filename (.bib, .csv, etc.)", + "title": "Filename", + "type": "string" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Import metadata including ImportStatus and associated files for each reference", + "title": "Metadata" + }, + "workspace_id": { + "description": "Target workspace ID", + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + "required": [ + "workspace_id", + "filename", + "data" + ], + "title": "ImportHistoryCreate", + "type": "object" + }, + "ImportHistoryCreateResponse": { + "description": "Response schema for import history creation (without user object).", + "properties": { + "created_at": { + "description": "Creation timestamp", + "format": "date-time", + "title": "Created At", + "type": "string" + }, + "filename": { + "description": "Import filename", + "title": "Filename", + "type": "string" + }, + "id": { + "description": "Import history record ID", + "format": "uuid", + "title": "Id", + "type": "string" + }, + "workspace_id": { + "description": "Workspace ID", + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + "required": [ + "id", + "workspace_id", + "filename", + "created_at" + ], + "title": "ImportHistoryCreateResponse", + "type": "object" + }, + "ImportHistoryDataset": { + "properties": { + "history_id": { + "description": "The ID of the import history to import from", + "format": "uuid", + "title": "History Id", + "type": "string" + }, + "mapping": { + "$ref": "#/components/schemas/DatasetMapping", + "description": "The mapping configuration for the import" + } + }, + "required": [ + "history_id", + "mapping" + ], + "title": "ImportHistoryDataset", + "type": "object" + }, + "ImportHistoryResponse": { + "description": "Response schema for import history creation and retrieval.", + "properties": { + "created_at": { + "description": "Creation timestamp", + "format": "date-time", + "title": "Created At", + "type": "string" + }, + "data": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Tabular dataframe data (only in detailed view)", + "title": "Data" + }, + "filename": { + "description": "Import filename", + "title": "Filename", + "type": "string" + }, + "id": { + "description": "Import history record ID", + "format": "uuid", + "title": "Id", + "type": "string" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Import metadata with status and files (in list and detailed view)", + "title": "Metadata" + }, + "username": { + "description": "Username who created the import", + "title": "Username", + "type": "string" + }, + "workspace_id": { + "description": "Workspace ID", + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + "required": [ + "id", + "workspace_id", + "username", + "filename", + "created_at" + ], + "title": "ImportHistoryResponse", + "type": "object" + }, + "ImportStatus": { + "description": "Status of a document in the import process.", + "enum": [ + "add", + "update", + "skip", + "failed" + ], + "title": "ImportStatus", + "type": "string" + }, + "ImportSummary": { + "description": "Summary statistics for import analysis.", + "properties": { + "add_count": { + "description": "Number of documents to be added", + "title": "Add Count", + "type": "integer" + }, + "failed_count": { + "description": "Number of documents that failed analysis", + "title": "Failed Count", + "type": "integer" + }, + "skip_count": { + "description": "Number of documents to be skipped", + "title": "Skip Count", + "type": "integer" + }, + "total_documents": { + "description": "Total number of documents analyzed", + "title": "Total Documents", + "type": "integer" + }, + "update_count": { + "description": "Number of documents to be updated", + "title": "Update Count", + "type": "integer" + } + }, + "required": [ + "total_documents", + "add_count", + "update_count", + "skip_count", + "failed_count" + ], + "title": "ImportSummary", + "type": "object" + }, + "IntegerMetadataMetrics": { + "properties": { + "max": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max" + }, + "min": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Min" + }, + "type": { + "const": "integer", + "default": "integer", + "enum": [ + "integer" + ], + "title": "Type", + "type": "string" + } + }, + "title": "IntegerMetadataMetrics", + "type": "object" + }, + "IntegerMetadataProperty": { + "properties": { + "max": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max" + }, + "min": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Min" + }, + "type": { + "const": "integer", + "enum": [ + "integer" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "IntegerMetadataProperty", + "type": "object" + }, + "IntegerMetadataPropertyCreate": { + "properties": { + "max": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max" + }, + "min": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Min" + }, + "type": { + "const": "integer", + "enum": [ + "integer" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "IntegerMetadataPropertyCreate", + "type": "object" + }, + "Job": { + "properties": { + "id": { + "title": "Id", + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/JobStatus" + } + }, + "required": [ + "id", + "status" + ], + "title": "Job", + "type": "object" + }, + "JobStatus": { + "description": "The Status of Job within its lifecycle at any given time.", + "enum": [ + "created", + "queued", + "finished", + "failed", + "started", + "deferred", + "scheduled", + "stopped", + "canceled" + ], + "title": "JobStatus", + "type": "string" + }, + "LabelSelectionQuestionSettings": { + "properties": { + "options": { + "items": { + "$ref": "#/components/schemas/OptionSettings" + }, + "title": "Options", + "type": "array" + }, + "strict": { + "default": true, + "title": "Strict", + "type": "boolean" + }, + "type": { + "const": "label_selection", + "enum": [ + "label_selection" + ], + "title": "Type", + "type": "string" + }, + "visible_options": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Visible Options" + } + }, + "required": [ + "type", + "options" + ], + "title": "LabelSelectionQuestionSettings", + "type": "object" + }, + "LabelSelectionQuestionSettingsCreate": { + "properties": { + "options": { + "items": { + "$ref": "#/components/schemas/OptionSettingsCreate" + }, + "maxItems": 500, + "title": "Options", + "type": "array" + }, + "strict": { + "default": true, + "title": "Strict", + "type": "boolean" + }, + "type": { + "const": "label_selection", + "enum": [ + "label_selection" + ], + "title": "Type", + "type": "string" + }, + "visible_options": { + "anyOf": [ + { + "minimum": 3.0, + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Visible Options" + } + }, + "required": [ + "type", + "options" + ], + "title": "LabelSelectionQuestionSettingsCreate", + "type": "object" + }, + "LabelSelectionSettingsUpdate": { + "properties": { + "options": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/OptionSettings" + }, + "maxItems": 500, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Options" + }, + "strict": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Strict" + }, + "type": { + "const": "label_selection", + "enum": [ + "label_selection" + ], + "title": "Type", + "type": "string" + }, + "visible_options": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Visible Options" + } + }, + "required": [ + "type" + ], + "title": "LabelSelectionSettingsUpdate", + "type": "object" + }, + "LayoutItemOut": { + "description": "One layout element, anchored by `self_ref`.", + "properties": { + "content_layer": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Content layer, e.g. `body` or `furniture`", + "title": "Content Layer" + }, + "html": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Rendered HTML, for tables", + "title": "Html" + }, + "label": { + "description": "DocItemLabel, e.g. `text`, `table`, `picture`", + "title": "Label", + "type": "string" + }, + "level": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Heading level, when the item is a section header", + "title": "Level" + }, + "parent_ref": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Reference of the parent node", + "title": "Parent Ref" + }, + "prov": { + "description": "One entry per page region", + "items": { + "$ref": "#/components/schemas/ProvenanceOut" + }, + "title": "Prov", + "type": "array" + }, + "reading_order": { + "description": "Position in document reading order", + "title": "Reading Order", + "type": "integer" + }, + "self_ref": { + "description": "Citation anchor, e.g. `#/texts/12`", + "title": "Self Ref", + "type": "string" + }, + "text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Item text, when it has any", + "title": "Text" + } + }, + "required": [ + "self_ref", + "label", + "reading_order" + ], + "title": "LayoutItemOut", + "type": "object" + }, + "LayoutPageOut": { + "description": "Page geometry every bbox on that page is relative to.", + "properties": { + "height": { + "description": "Page height in points", + "title": "Height", + "type": "number" + }, + "page_no": { + "description": "1-indexed page number", + "title": "Page No", + "type": "integer" + }, + "width": { + "description": "Page width in points", + "title": "Width", + "type": "number" + } + }, + "required": [ + "page_no", + "width", + "height" + ], + "title": "LayoutPageOut", + "type": "object" + }, + "ListObjectsResponse": { + "properties": { + "objects": { + "items": { + "$ref": "#/components/schemas/ObjectMetadata" + }, + "title": "Objects", + "type": "array" + } + }, + "title": "ListObjectsResponse", + "type": "object" + }, + "MetadataFilterScope": { + "properties": { + "entity": { + "const": "metadata", + "enum": [ + "metadata" + ], + "title": "Entity", + "type": "string" + }, + "metadata_property": { + "maxLength": 200, + "minLength": 1, + "title": "Metadata Property", + "type": "string" + } + }, + "required": [ + "entity", + "metadata_property" + ], + "title": "MetadataFilterScope", + "type": "object" + }, + "MetadataProperties": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/MetadataProperty" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "MetadataProperties", + "type": "object" + }, + "MetadataProperty": { + "properties": { + "dataset_id": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "settings": { + "discriminator": { + "mapping": { + "float": "#/components/schemas/FloatMetadataProperty", + "integer": "#/components/schemas/IntegerMetadataProperty", + "terms": "#/components/schemas/TermsMetadataProperty" + }, + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/TermsMetadataProperty" + }, + { + "$ref": "#/components/schemas/IntegerMetadataProperty" + }, + { + "$ref": "#/components/schemas/FloatMetadataProperty" + } + ], + "title": "Settings" + }, + "title": { + "title": "Title", + "type": "string" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + }, + "visible_for_annotators": { + "title": "Visible For Annotators", + "type": "boolean" + } + }, + "required": [ + "id", + "name", + "title", + "settings", + "visible_for_annotators", + "dataset_id", + "inserted_at", + "updated_at" + ], + "title": "MetadataProperty", + "type": "object" + }, + "MetadataPropertyCreate": { + "properties": { + "name": { + "maxLength": 200, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "settings": { + "discriminator": { + "mapping": { + "float": "#/components/schemas/FloatMetadataPropertyCreate", + "integer": "#/components/schemas/IntegerMetadataPropertyCreate", + "terms": "#/components/schemas/TermsMetadataPropertyCreate" + }, + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/TermsMetadataPropertyCreate" + }, + { + "$ref": "#/components/schemas/IntegerMetadataPropertyCreate" + }, + { + "$ref": "#/components/schemas/FloatMetadataPropertyCreate" + } + ], + "title": "Settings" + }, + "title": { + "description": "The title of the metadata property", + "maxLength": 500, + "minLength": 1, + "title": "Title", + "type": "string" + }, + "visible_for_annotators": { + "default": true, + "title": "Visible For Annotators", + "type": "boolean" + } + }, + "required": [ + "name", + "title", + "settings" + ], + "title": "MetadataPropertyCreate", + "type": "object" + }, + "MetadataPropertyUpdate": { + "properties": { + "title": { + "anyOf": [ + { + "description": "The title of the metadata property", + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title" + }, + "visible_for_annotators": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Visible For Annotators" + } + }, + "title": "MetadataPropertyUpdate", + "type": "object" + }, + "MultiLabelSelectionQuestionSettings": { + "properties": { + "options": { + "items": { + "$ref": "#/components/schemas/OptionSettings" + }, + "title": "Options", + "type": "array" + }, + "options_order": { + "$ref": "#/components/schemas/OptionsOrder", + "default": "natural" + }, + "strict": { + "default": true, + "title": "Strict", + "type": "boolean" + }, + "type": { + "const": "multi_label_selection", + "enum": [ + "multi_label_selection" + ], + "title": "Type", + "type": "string" + }, + "visible_options": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Visible Options" + } + }, + "required": [ + "type", + "options" + ], + "title": "MultiLabelSelectionQuestionSettings", + "type": "object" + }, + "MultiLabelSelectionQuestionSettingsCreate": { + "properties": { + "options": { + "items": { + "$ref": "#/components/schemas/OptionSettingsCreate" + }, + "maxItems": 500, + "title": "Options", + "type": "array" + }, + "options_order": { + "$ref": "#/components/schemas/OptionsOrder", + "default": "natural" + }, + "strict": { + "default": true, + "title": "Strict", + "type": "boolean" + }, + "type": { + "const": "multi_label_selection", + "enum": [ + "multi_label_selection" + ], + "title": "Type", + "type": "string" + }, + "visible_options": { + "anyOf": [ + { + "minimum": 3.0, + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Visible Options" + } + }, + "required": [ + "type", + "options" + ], + "title": "MultiLabelSelectionQuestionSettingsCreate", + "type": "object" + }, + "MultiLabelSelectionQuestionSettingsUpdate": { + "properties": { + "options": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/OptionSettings" + }, + "maxItems": 500, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Options" + }, + "options_order": { + "anyOf": [ + { + "$ref": "#/components/schemas/OptionsOrder" + }, + { + "type": "null" + } + ] + }, + "strict": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Strict" + }, + "type": { + "const": "multi_label_selection", + "enum": [ + "multi_label_selection" + ], + "title": "Type", + "type": "string" + }, + "visible_options": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Visible Options" + } + }, + "required": [ + "type" + ], + "title": "MultiLabelSelectionQuestionSettingsUpdate", + "type": "object" + }, + "ObjectMetadata": { + "properties": { + "bucket_name": { + "title": "Bucket Name", + "type": "string" + }, + "content_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Content Type" + }, + "etag": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Etag" + }, + "is_latest": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Is Latest" + }, + "last_modified": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Last Modified" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + }, + "object_name": { + "title": "Object Name", + "type": "string" + }, + "size": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Size" + }, + "version_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Version Id" + }, + "version_tag": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Version Tag" + } + }, + "required": [ + "bucket_name", + "object_name" + ], + "title": "ObjectMetadata", + "type": "object" + }, + "OptionSettings": { + "properties": { + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "text": { + "title": "Text", + "type": "string" + }, + "value": { + "title": "Value", + "type": "string" + } + }, + "required": [ + "value", + "text" + ], + "title": "OptionSettings", + "type": "object" + }, + "OptionSettingsCreate": { + "properties": { + "description": { + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "text": { + "maxLength": 500, + "minLength": 1, + "title": "Text", + "type": "string" + }, + "value": { + "maxLength": 200, + "minLength": 1, + "title": "Value", + "type": "string" + } + }, + "required": [ + "value", + "text" + ], + "title": "OptionSettingsCreate", + "type": "object" + }, + "OptionsOrder": { + "enum": [ + "natural", + "suggestion" + ], + "title": "OptionsOrder", + "type": "string" + }, + "Order": { + "properties": { + "order": { + "$ref": "#/components/schemas/SortOrder" + }, + "scope": { + "discriminator": { + "mapping": { + "metadata": "#/components/schemas/MetadataFilterScope", + "record": "#/components/schemas/RecordFilterScope", + "response": "#/components/schemas/ResponseFilterScope", + "suggestion": "#/components/schemas/SuggestionFilterScope" + }, + "propertyName": "entity" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/RecordFilterScope" + }, + { + "$ref": "#/components/schemas/ResponseFilterScope" + }, + { + "$ref": "#/components/schemas/SuggestionFilterScope" + }, + { + "$ref": "#/components/schemas/MetadataFilterScope" + } + ], + "title": "Scope" + } + }, + "required": [ + "scope", + "order" + ], + "title": "Order", + "type": "object" + }, + "PollTokenResponse": { + "properties": { + "message": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Message" + }, + "status": { + "title": "Status", + "type": "string" + } + }, + "required": [ + "status" + ], + "title": "PollTokenResponse", + "type": "object" + }, + "ProvenanceOut": { + "description": "Where an item came from: the page, the region, and the span of its own text.", + "properties": { + "bbox": { + "$ref": "#/components/schemas/BoundingBoxOut", + "description": "Region on the page" + }, + "charspan": { + "description": "Item-local character span, not a document offset", + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "type": "integer" + }, + { + "type": "integer" + } + ], + "title": "Charspan", + "type": "array" + }, + "page_no": { + "description": "1-indexed page number", + "title": "Page No", + "type": "integer" + } + }, + "required": [ + "page_no", + "bbox", + "charspan" + ], + "title": "ProvenanceOut", + "type": "object" + }, + "Provider": { + "properties": { + "name": { + "title": "Name", + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "Provider", + "type": "object" + }, + "Providers": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Provider" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "Providers", + "type": "object" + }, + "Query": { + "properties": { + "text": { + "anyOf": [ + { + "$ref": "#/components/schemas/TextQuery" + }, + { + "type": "null" + } + ] + }, + "vector": { + "anyOf": [ + { + "$ref": "#/components/schemas/VectorQuery" + }, + { + "type": "null" + } + ], + "description": "Query by vector similarity. Either 'record_id' or 'value' must be provided. Max number of records to return is limited to 1000." + } + }, + "title": "Query", + "type": "object" + }, + "Question": { + "properties": { + "dataset_id": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "required": { + "title": "Required", + "type": "boolean" + }, + "settings": { + "discriminator": { + "mapping": { + "label_selection": "#/components/schemas/LabelSelectionQuestionSettings", + "multi_label_selection": "#/components/schemas/MultiLabelSelectionQuestionSettings", + "ranking": "#/components/schemas/RankingQuestionSettings", + "rating": "#/components/schemas/RatingQuestionSettings", + "span": "#/components/schemas/SpanQuestionSettings", + "table": "#/components/schemas/TableQuestionSettings", + "text": "#/components/schemas/TextQuestionSettings" + }, + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/TextQuestionSettings" + }, + { + "$ref": "#/components/schemas/RatingQuestionSettings" + }, + { + "$ref": "#/components/schemas/LabelSelectionQuestionSettings" + }, + { + "$ref": "#/components/schemas/MultiLabelSelectionQuestionSettings" + }, + { + "$ref": "#/components/schemas/RankingQuestionSettings" + }, + { + "$ref": "#/components/schemas/SpanQuestionSettings" + }, + { + "$ref": "#/components/schemas/TableQuestionSettings" + } + ], + "title": "Settings" + }, + "title": { + "title": "Title", + "type": "string" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + } + }, + "required": [ + "id", + "name", + "title", + "required", + "settings", + "dataset_id", + "inserted_at", + "updated_at" + ], + "title": "Question", + "type": "object" + }, + "QuestionCreate": { + "properties": { + "description": { + "anyOf": [ + { + "description": "The description of the question", + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "name": { + "description": "The name of the question", + "maxLength": 200, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "required": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Required" + }, + "settings": { + "discriminator": { + "mapping": { + "label_selection": "#/components/schemas/LabelSelectionQuestionSettingsCreate", + "multi_label_selection": "#/components/schemas/MultiLabelSelectionQuestionSettingsCreate", + "ranking": "#/components/schemas/RankingQuestionSettingsCreate", + "rating": "#/components/schemas/RatingQuestionSettingsCreate", + "span": "#/components/schemas/SpanQuestionSettingsCreate", + "table": "#/components/schemas/TableQuestionSettingsCreate", + "text": "#/components/schemas/TextQuestionSettingsCreate" + }, + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/TextQuestionSettingsCreate" + }, + { + "$ref": "#/components/schemas/RatingQuestionSettingsCreate" + }, + { + "$ref": "#/components/schemas/LabelSelectionQuestionSettingsCreate" + }, + { + "$ref": "#/components/schemas/MultiLabelSelectionQuestionSettingsCreate" + }, + { + "$ref": "#/components/schemas/RankingQuestionSettingsCreate" + }, + { + "$ref": "#/components/schemas/SpanQuestionSettingsCreate" + }, + { + "$ref": "#/components/schemas/TableQuestionSettingsCreate" + } + ], + "title": "Settings" + }, + "title": { + "description": "The title of the question", + "maxLength": 500, + "minLength": 1, + "title": "Title", + "type": "string" + } + }, + "required": [ + "name", + "title", + "settings" + ], + "title": "QuestionCreate", + "type": "object" + }, + "QuestionUpdate": { + "properties": { + "description": { + "anyOf": [ + { + "description": "The description of the question", + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "settings": { + "anyOf": [ + { + "discriminator": { + "mapping": { + "label_selection": "#/components/schemas/LabelSelectionSettingsUpdate", + "multi_label_selection": "#/components/schemas/MultiLabelSelectionQuestionSettingsUpdate", + "ranking": "#/components/schemas/RankingQuestionSettingsUpdate", + "rating": "#/components/schemas/RatingQuestionSettingsUpdate", + "span": "#/components/schemas/SpanQuestionSettingsUpdate", + "table": "#/components/schemas/TableQuestionSettingsUpdate", + "text": "#/components/schemas/TextQuestionSettingsUpdate" + }, + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/TextQuestionSettingsUpdate" + }, + { + "$ref": "#/components/schemas/RatingQuestionSettingsUpdate" + }, + { + "$ref": "#/components/schemas/LabelSelectionSettingsUpdate" + }, + { + "$ref": "#/components/schemas/MultiLabelSelectionQuestionSettingsUpdate" + }, + { + "$ref": "#/components/schemas/RankingQuestionSettingsUpdate" + }, + { + "$ref": "#/components/schemas/SpanQuestionSettingsUpdate" + }, + { + "$ref": "#/components/schemas/TableQuestionSettingsUpdate" + } + ] + }, + { + "type": "null" + } + ], + "title": "Settings" + }, + "title": { + "anyOf": [ + { + "description": "The title of the question", + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title" + } + }, + "title": "QuestionUpdate", + "type": "object" + }, + "Questions": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Question" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "Questions", + "type": "object" + }, + "RangeFilter": { + "properties": { + "ge": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Ge" + }, + "le": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Le" + }, + "scope": { + "discriminator": { + "mapping": { + "metadata": "#/components/schemas/MetadataFilterScope", + "record": "#/components/schemas/RecordFilterScope", + "response": "#/components/schemas/ResponseFilterScope", + "suggestion": "#/components/schemas/SuggestionFilterScope" + }, + "propertyName": "entity" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/RecordFilterScope" + }, + { + "$ref": "#/components/schemas/ResponseFilterScope" + }, + { + "$ref": "#/components/schemas/SuggestionFilterScope" + }, + { + "$ref": "#/components/schemas/MetadataFilterScope" + } + ], + "title": "Scope" + }, + "type": { + "const": "range", + "enum": [ + "range" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type", + "scope" + ], + "title": "RangeFilter", + "type": "object" + }, + "RankingQuestionResponseValueItem": { + "properties": { + "rank": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Rank" + }, + "value": { + "title": "Value", + "type": "string" + } + }, + "required": [ + "value" + ], + "title": "RankingQuestionResponseValueItem", + "type": "object" + }, + "RankingQuestionSettings": { + "properties": { + "options": { + "items": { + "$ref": "#/components/schemas/OptionSettings" + }, + "title": "Options", + "type": "array" + }, + "type": { + "const": "ranking", + "enum": [ + "ranking" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type", + "options" + ], + "title": "RankingQuestionSettings", + "type": "object" + }, + "RankingQuestionSettingsCreate": { + "properties": { + "options": { + "items": { + "$ref": "#/components/schemas/OptionSettingsCreate" + }, + "maxItems": 50, + "minItems": 2, + "title": "Options", + "type": "array" + }, + "type": { + "const": "ranking", + "enum": [ + "ranking" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type", + "options" + ], + "title": "RankingQuestionSettingsCreate", + "type": "object" + }, + "RankingQuestionSettingsUpdate": { + "properties": { + "type": { + "const": "ranking", + "enum": [ + "ranking" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "RankingQuestionSettingsUpdate", + "type": "object" + }, + "RatingQuestionSettings": { + "properties": { + "options": { + "items": { + "$ref": "#/components/schemas/RatingQuestionSettingsOption" + }, + "title": "Options", + "type": "array" + }, + "type": { + "const": "rating", + "enum": [ + "rating" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type", + "options" + ], + "title": "RatingQuestionSettings", + "type": "object" + }, + "RatingQuestionSettingsCreate": { + "properties": { + "options": { + "items": { + "$ref": "#/components/schemas/RatingQuestionSettingsOptionCreate" + }, + "maxItems": 11, + "minItems": 2, + "title": "Options", + "type": "array" + }, + "type": { + "const": "rating", + "enum": [ + "rating" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type", + "options" + ], + "title": "RatingQuestionSettingsCreate", + "type": "object" + }, + "RatingQuestionSettingsOption": { + "properties": { + "value": { + "title": "Value", + "type": "integer" + } + }, + "required": [ + "value" + ], + "title": "RatingQuestionSettingsOption", + "type": "object" + }, + "RatingQuestionSettingsOptionCreate": { + "properties": { + "value": { + "maximum": 10.0, + "minimum": 0.0, + "title": "Value", + "type": "integer" + } + }, + "required": [ + "value" + ], + "title": "RatingQuestionSettingsOptionCreate", + "type": "object" + }, + "RatingQuestionSettingsUpdate": { + "properties": { + "type": { + "const": "rating", + "enum": [ + "rating" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "RatingQuestionSettingsUpdate", + "type": "object" + }, + "Record": { + "properties": { + "dataset_id": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + }, + "external_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "External Id" + }, + "fields": { + "title": "Fields", + "type": "object" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + }, + "reference": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Reference" + }, + "responses": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Response" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Responses" + }, + "status": { + "$ref": "#/components/schemas/RecordStatus" + }, + "suggestions": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Suggestion" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Suggestions" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + }, + "vectors": { + "anyOf": [ + { + "additionalProperties": { + "items": { + "type": "number" + }, + "type": "array" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Vectors" + } + }, + "required": [ + "id", + "status", + "fields", + "dataset_id", + "inserted_at", + "updated_at" + ], + "title": "Record", + "type": "object" + }, + "RecordCreate": { + "properties": { + "external_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "External Id" + }, + "fields": { + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "$ref": "#/components/schemas/ChatFieldValue" + }, + "type": "array" + }, + { + "type": "object" + }, + { + "type": "null" + } + ] + }, + "title": "Fields", + "type": "object" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + }, + "reference": { + "anyOf": [ + { + "description": "An external reference (e.g. a DOI) for the record's source document", + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Reference" + }, + "responses": { + "anyOf": [ + { + "items": { + "discriminator": { + "mapping": { + "discarded": "#/components/schemas/UserDiscardedResponseCreate", + "draft": "#/components/schemas/UserDraftResponseCreate", + "submitted": "#/components/schemas/UserSubmittedResponseCreate" + }, + "propertyName": "status" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/UserSubmittedResponseCreate" + }, + { + "$ref": "#/components/schemas/UserDraftResponseCreate" + }, + { + "$ref": "#/components/schemas/UserDiscardedResponseCreate" + } + ] + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Responses" + }, + "suggestions": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/SuggestionCreate" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Suggestions" + }, + "vectors": { + "anyOf": [ + { + "additionalProperties": { + "items": { + "type": "number" + }, + "type": "array" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Vectors" + } + }, + "required": [ + "fields" + ], + "title": "RecordCreate", + "type": "object" + }, + "RecordFilterScope": { + "properties": { + "entity": { + "const": "record", + "enum": [ + "record" + ], + "title": "Entity", + "type": "string" + }, + "property": { + "enum": [ + "id", + "external_id", + "inserted_at", + "updated_at", + "status" + ], + "title": "Property", + "type": "string" + } + }, + "required": [ + "entity", + "property" + ], + "title": "RecordFilterScope", + "type": "object" + }, + "RecordResponseDistribution": { + "properties": { + "discarded": { + "default": 0, + "title": "Discarded", + "type": "integer" + }, + "draft": { + "default": 0, + "title": "Draft", + "type": "integer" + }, + "submitted": { + "default": 0, + "title": "Submitted", + "type": "integer" + } + }, + "title": "RecordResponseDistribution", + "type": "object" + }, + "RecordStatus": { + "enum": [ + "pending", + "completed" + ], + "title": "RecordStatus", + "type": "string" + }, + "RecordUpdate": { + "properties": { + "fields": { + "anyOf": [ + { + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "$ref": "#/components/schemas/ChatFieldValue" + }, + "type": "array" + }, + { + "type": "object" + }, + { + "type": "null" + } + ] + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Fields" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + }, + "reference": { + "anyOf": [ + { + "description": "An external reference (e.g. a DOI) for the record's source document", + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Reference" + }, + "suggestions": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/SuggestionCreate" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Suggestions" + }, + "vectors": { + "anyOf": [ + { + "additionalProperties": { + "items": { + "type": "number" + }, + "type": "array" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Vectors" + } + }, + "title": "RecordUpdate", + "type": "object" + }, + "RecordUpsert": { + "properties": { + "external_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "External Id" + }, + "fields": { + "anyOf": [ + { + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "$ref": "#/components/schemas/ChatFieldValue" + }, + "type": "array" + }, + { + "type": "object" + }, + { + "type": "null" + } + ] + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Fields" + }, + "id": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id" + }, + "metadata": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + }, + "reference": { + "anyOf": [ + { + "description": "An external reference (e.g. a DOI) for the record's source document", + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Reference" + }, + "responses": { + "anyOf": [ + { + "items": { + "discriminator": { + "mapping": { + "discarded": "#/components/schemas/UserDiscardedResponseCreate", + "draft": "#/components/schemas/UserDraftResponseCreate", + "submitted": "#/components/schemas/UserSubmittedResponseCreate" + }, + "propertyName": "status" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/UserSubmittedResponseCreate" + }, + { + "$ref": "#/components/schemas/UserDraftResponseCreate" + }, + { + "$ref": "#/components/schemas/UserDiscardedResponseCreate" + } + ] + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Responses" + }, + "suggestions": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/SuggestionCreate" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Suggestions" + }, + "vectors": { + "anyOf": [ + { + "additionalProperties": { + "items": { + "type": "number" + }, + "type": "array" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Vectors" + } + }, + "title": "RecordUpsert", + "type": "object" + }, + "Records": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Record" + }, + "title": "Items", + "type": "array" + }, + "total": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Total" + } + }, + "required": [ + "items" + ], + "title": "Records", + "type": "object" + }, + "RecordsBulk": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Record" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "RecordsBulk", + "type": "object" + }, + "RecordsBulkCreate": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/RecordCreate" + }, + "maxItems": 500, + "minItems": 1, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "RecordsBulkCreate", + "type": "object" + }, + "RecordsBulkUpsert": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/RecordUpsert" + }, + "maxItems": 500, + "minItems": 1, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "RecordsBulkUpsert", + "type": "object" + }, + "RefreshTokenRequest": { + "description": "Refresh token request model", + "properties": { + "refresh_token": { + "title": "Refresh Token", + "type": "string" + } + }, + "required": [ + "refresh_token" + ], + "title": "RefreshTokenRequest", + "type": "object" + }, + "Response": { + "properties": { + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "record_id": { + "format": "uuid", + "title": "Record Id", + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/ResponseStatus" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + }, + "user_id": { + "format": "uuid", + "title": "User Id", + "type": "string" + }, + "values": { + "anyOf": [ + { + "additionalProperties": { + "$ref": "#/components/schemas/ResponseValue" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Values" + } + }, + "required": [ + "id", + "status", + "record_id", + "user_id", + "inserted_at", + "updated_at" + ], + "title": "Response", + "type": "object" + }, + "ResponseBulk": { + "properties": { + "error": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResponseBulkError" + }, + { + "type": "null" + } + ] + }, + "item": { + "anyOf": [ + { + "$ref": "#/components/schemas/Response" + }, + { + "type": "null" + } + ] + } + }, + "title": "ResponseBulk", + "type": "object" + }, + "ResponseBulkError": { + "properties": { + "detail": { + "title": "Detail", + "type": "string" + } + }, + "required": [ + "detail" + ], + "title": "ResponseBulkError", + "type": "object" + }, + "ResponseCreate": { + "properties": { + "status": { + "$ref": "#/components/schemas/ResponseStatus" + }, + "values": { + "anyOf": [ + { + "additionalProperties": { + "$ref": "#/components/schemas/ResponseValueCreate" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Values" + } + }, + "required": [ + "status" + ], + "title": "ResponseCreate", + "type": "object" + }, + "ResponseFilterScope": { + "properties": { + "entity": { + "const": "response", + "enum": [ + "response" + ], + "title": "Entity", + "type": "string" + }, + "property": { + "anyOf": [ + { + "const": "status", + "enum": [ + "status" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Property" + }, + "question": { + "anyOf": [ + { + "description": "The name of the question", + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Question" + } + }, + "required": [ + "entity" + ], + "title": "ResponseFilterScope", + "type": "object" + }, + "ResponseMetrics": { + "properties": { + "discarded": { + "title": "Discarded", + "type": "integer" + }, + "draft": { + "title": "Draft", + "type": "integer" + }, + "pending": { + "title": "Pending", + "type": "integer" + }, + "submitted": { + "title": "Submitted", + "type": "integer" + }, + "total": { + "title": "Total", + "type": "integer" + } + }, + "required": [ + "total", + "submitted", + "discarded", + "draft", + "pending" + ], + "title": "ResponseMetrics", + "type": "object" + }, + "ResponseStatus": { + "enum": [ + "draft", + "submitted", + "discarded" + ], + "title": "ResponseStatus", + "type": "string" + }, + "ResponseValue": { + "properties": { + "value": { + "title": "Value" + } + }, + "required": [ + "value" + ], + "title": "ResponseValue", + "type": "object" + }, + "ResponseValueCreate": { + "properties": { + "value": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/SpanQuestionResponseValueItem" + }, + "maxItems": 10000, + "type": "array" + }, + { + "items": { + "$ref": "#/components/schemas/RankingQuestionResponseValueItem" + }, + "type": "array" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "integer" + }, + { + "type": "string" + }, + { + "type": "object" + }, + { + "items": { + "type": "object" + }, + "type": "array" + } + ], + "title": "Value" + } + }, + "required": [ + "value" + ], + "title": "ResponseValueCreate", + "type": "object" + }, + "ResponseValueUpdate": { + "properties": { + "value": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/SpanQuestionResponseValueItem" + }, + "maxItems": 10000, + "type": "array" + }, + { + "items": { + "$ref": "#/components/schemas/RankingQuestionResponseValueItem" + }, + "type": "array" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "integer" + }, + { + "type": "string" + }, + { + "type": "object" + }, + { + "items": { + "type": "object" + }, + "type": "array" + } + ], + "title": "Value" + } + }, + "required": [ + "value" + ], + "title": "ResponseValueUpdate", + "type": "object" + }, + "ResponsesBulk": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/ResponseBulk" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "ResponsesBulk", + "type": "object" + }, + "ResponsesBulkCreate": { + "properties": { + "items": { + "items": { + "discriminator": { + "mapping": { + "discarded": "#/components/schemas/DiscardedResponseUpsert", + "draft": "#/components/schemas/DraftResponseUpsert", + "submitted": "#/components/schemas/SubmittedResponseUpsert" + }, + "propertyName": "status" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/SubmittedResponseUpsert" + }, + { + "$ref": "#/components/schemas/DiscardedResponseUpsert" + }, + { + "$ref": "#/components/schemas/DraftResponseUpsert" + } + ] + }, + "maxItems": 100, + "minItems": 1, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "ResponsesBulkCreate", + "type": "object" + }, + "RestartWorkflowRequest": { + "description": "Request schema for restarting a workflow.", + "properties": { + "document_id": { + "description": "Document UUID to restart", + "format": "uuid", + "title": "Document Id", + "type": "string" + }, + "failed_only": { + "default": true, + "description": "Only restart failed jobs", + "title": "Failed Only", + "type": "boolean" + } + }, + "required": [ + "document_id" + ], + "title": "RestartWorkflowRequest", + "type": "object" + }, + "SchemaVersionCreate": { + "description": "A new schema version. `body` is a Pandera `DataFrameSchema.to_json()` payload.", + "properties": { + "body": { + "maxLength": 1048576, + "title": "Body", + "type": "string" + }, + "review_widgets": { + "additionalProperties": { + "type": "object" + }, + "title": "Review Widgets", + "type": "object" + } + }, + "required": [ + "body" + ], + "title": "SchemaVersionCreate", + "type": "object" + }, + "SchemaVersionRead": { + "properties": { + "checksum": { + "title": "Checksum", + "type": "string" + }, + "created_by": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Created By" + }, + "dataset_id": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + }, + "etag": { + "title": "Etag", + "type": "string" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "object_key": { + "title": "Object Key", + "type": "string" + }, + "object_version_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Object Version Id" + }, + "parent_version_id": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Parent Version Id" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + }, + "version": { + "title": "Version", + "type": "integer" + } + }, + "required": [ + "id", + "dataset_id", + "version", + "object_key", + "object_version_id", + "etag", + "checksum", + "parent_version_id", + "created_by", + "inserted_at", + "updated_at" + ], + "title": "SchemaVersionRead", + "type": "object" + }, + "SearchRecord": { + "properties": { + "query_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Query Score" + }, + "record": { + "$ref": "#/components/schemas/Record" + } + }, + "required": [ + "record" + ], + "title": "SearchRecord", + "type": "object" + }, + "SearchRecordsQuery": { + "properties": { + "filters": { + "anyOf": [ + { + "$ref": "#/components/schemas/Filters" + }, + { + "type": "null" + } + ] + }, + "query": { + "anyOf": [ + { + "$ref": "#/components/schemas/Query" + }, + { + "type": "null" + } + ] + }, + "sort": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Order" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Sort" + } + }, + "title": "SearchRecordsQuery", + "type": "object" + }, + "SearchRecordsResult": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/SearchRecord" + }, + "title": "Items", + "type": "array" + }, + "total": { + "default": 0, + "title": "Total", + "type": "integer" + } + }, + "required": [ + "items" + ], + "title": "SearchRecordsResult", + "type": "object" + }, + "SearchSuggestionOptions": { + "properties": { + "agents": { + "items": { + "type": "string" + }, + "title": "Agents", + "type": "array" + }, + "question": { + "$ref": "#/components/schemas/SearchSuggestionOptionsQuestion" + } + }, + "required": [ + "question", + "agents" + ], + "title": "SearchSuggestionOptions", + "type": "object" + }, + "SearchSuggestionOptionsQuestion": { + "properties": { + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + } + }, + "required": [ + "id", + "name" + ], + "title": "SearchSuggestionOptionsQuestion", + "type": "object" + }, + "SearchSuggestionsOptions": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/SearchSuggestionOptions" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "SearchSuggestionsOptions", + "type": "object" + }, + "Settings": { + "properties": { + "extralit": { + "$ref": "#/components/schemas/ExtralitSettings" + }, + "huggingface": { + "anyOf": [ + { + "$ref": "#/components/schemas/HuggingfaceSettings" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "extralit" + ], + "title": "Settings", + "type": "object" + }, + "SimilarityOrder": { + "enum": [ + "most_similar", + "least_similar" + ], + "title": "SimilarityOrder", + "type": "string" + }, + "SortOrder": { + "enum": [ + "asc", + "desc" + ], + "title": "SortOrder", + "type": "string" + }, + "SpanQuestionResponseValueItem": { + "properties": { + "end": { + "minimum": 1.0, + "title": "End", + "type": "integer" + }, + "label": { + "title": "Label", + "type": "string" + }, + "start": { + "minimum": 0.0, + "title": "Start", + "type": "integer" + } + }, + "required": [ + "label", + "start", + "end" + ], + "title": "SpanQuestionResponseValueItem", + "type": "object" + }, + "SpanQuestionSettings": { + "properties": { + "allow_character_annotation": { + "default": true, + "description": "Allow character-level annotation", + "title": "Allow Character Annotation", + "type": "boolean" + }, + "allow_overlapping": { + "default": false, + "description": "Allow spans overlapping", + "title": "Allow Overlapping", + "type": "boolean" + }, + "field": { + "title": "Field", + "type": "string" + }, + "options": { + "items": { + "$ref": "#/components/schemas/OptionSettings" + }, + "title": "Options", + "type": "array" + }, + "type": { + "const": "span", + "enum": [ + "span" + ], + "title": "Type", + "type": "string" + }, + "visible_options": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Visible Options" + } + }, + "required": [ + "type", + "field", + "options" + ], + "title": "SpanQuestionSettings", + "type": "object" + }, + "SpanQuestionSettingsCreate": { + "properties": { + "allow_overlapping": { + "default": false, + "title": "Allow Overlapping", + "type": "boolean" + }, + "field": { + "description": "The name of the field", + "maxLength": 200, + "minLength": 1, + "title": "Field", + "type": "string" + }, + "options": { + "items": { + "$ref": "#/components/schemas/OptionSettingsCreate" + }, + "maxItems": 500, + "minItems": 1, + "title": "Options", + "type": "array" + }, + "type": { + "const": "span", + "enum": [ + "span" + ], + "title": "Type", + "type": "string" + }, + "visible_options": { + "anyOf": [ + { + "minimum": 3.0, + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Visible Options" + } + }, + "required": [ + "type", + "field", + "options" + ], + "title": "SpanQuestionSettingsCreate", + "type": "object" + }, + "SpanQuestionSettingsUpdate": { + "properties": { + "allow_overlapping": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Allow Overlapping" + }, + "options": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/OptionSettings" + }, + "maxItems": 500, + "minItems": 1, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Options" + }, + "type": { + "const": "span", + "enum": [ + "span" + ], + "title": "Type", + "type": "string" + }, + "visible_options": { + "anyOf": [ + { + "minimum": 3.0, + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Visible Options" + } + }, + "required": [ + "type" + ], + "title": "SpanQuestionSettingsUpdate", + "type": "object" + }, + "StartWorkflowRequest": { + "description": "Request schema for starting a workflow.", + "properties": { + "document_id": { + "description": "Document UUID to process", + "format": "uuid", + "title": "Document Id", + "type": "string" + }, + "force": { + "default": false, + "description": "Force restart if workflow already exists", + "title": "Force", + "type": "boolean" + }, + "layout_parser": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Layout parser to run (e.g. `pdf_inspector`, `pymupdf`); omit to skip layout extraction", + "title": "Layout Parser" + }, + "reference": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Document reference for tracking", + "title": "Reference" + }, + "timeout": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": 60, + "description": "Max seconds to wait if wait=True", + "title": "Timeout" + }, + "wait": { + "default": true, + "description": "Wait for job to finish before returning", + "title": "Wait", + "type": "boolean" + }, + "workspace_name": { + "description": "Workspace name", + "title": "Workspace Name", + "type": "string" + } + }, + "required": [ + "document_id", + "workspace_name" + ], + "title": "StartWorkflowRequest", + "type": "object" + }, + "StartWorkflowResponse": { + "description": "Response schema for starting a workflow.", + "properties": { + "document_id": { + "description": "Document ID", + "title": "Document Id", + "type": "string" + }, + "group_id": { + "description": "RQ Group ID for tracking", + "title": "Group Id", + "type": "string" + }, + "reference": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Document reference", + "title": "Reference" + }, + "restarted_jobs": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "List of restarted job IDs (for restarts)", + "title": "Restarted Jobs" + }, + "status": { + "description": "Initial workflow status", + "title": "Status", + "type": "string" + }, + "workflow_id": { + "description": "Workflow ID", + "title": "Workflow Id", + "type": "string" + } + }, + "required": [ + "workflow_id", + "document_id", + "group_id", + "status" + ], + "title": "StartWorkflowResponse", + "type": "object" + }, + "Status": { + "properties": { + "memory": { + "title": "Memory", + "type": "object" + }, + "search_engine": { + "title": "Search Engine", + "type": "object" + }, + "version": { + "title": "Version", + "type": "string" + } + }, + "required": [ + "version", + "search_engine", + "memory" + ], + "title": "Status", + "type": "object" + }, + "SubmittedResponseUpdate": { + "properties": { + "status": { + "const": "submitted", + "enum": [ + "submitted" + ], + "title": "Status", + "type": "string" + }, + "values": { + "additionalProperties": { + "$ref": "#/components/schemas/ResponseValueUpdate" + }, + "title": "Values", + "type": "object" + } + }, + "required": [ + "values", + "status" + ], + "title": "SubmittedResponseUpdate", + "type": "object" + }, + "SubmittedResponseUpsert": { + "properties": { + "record_id": { + "format": "uuid", + "title": "Record Id", + "type": "string" + }, + "status": { + "const": "submitted", + "enum": [ + "submitted" + ], + "title": "Status", + "type": "string" + }, + "values": { + "additionalProperties": { + "$ref": "#/components/schemas/ResponseValueUpdate" + }, + "title": "Values", + "type": "object" + } + }, + "required": [ + "values", + "status", + "record_id" + ], + "title": "SubmittedResponseUpsert", + "type": "object" + }, + "Suggestion": { + "properties": { + "agent": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Agent" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "question_id": { + "format": "uuid", + "title": "Question Id", + "type": "string" + }, + "score": { + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Score" + }, + "type": { + "anyOf": [ + { + "$ref": "#/components/schemas/SuggestionType" + }, + { + "type": "null" + } + ] + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + }, + "value": { + "title": "Value" + } + }, + "required": [ + "question_id", + "value", + "id", + "inserted_at", + "updated_at" + ], + "title": "Suggestion", + "type": "object" + }, + "SuggestionCreate": { + "properties": { + "agent": { + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-_:\\.\\/\\s]*[a-zA-Z0-9][a-zA-Z0-9-_:\\.\\/\\s]*$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Agent used to generate the suggestion", + "title": "Agent" + }, + "question_id": { + "format": "uuid", + "title": "Question Id", + "type": "string" + }, + "score": { + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "The score assigned to the suggestion", + "title": "Score" + }, + "type": { + "anyOf": [ + { + "$ref": "#/components/schemas/SuggestionType" + }, + { + "type": "null" + } + ] + }, + "value": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/SpanQuestionResponseValueItem" + }, + "maxItems": 10000, + "type": "array" + }, + { + "items": { + "$ref": "#/components/schemas/RankingQuestionResponseValueItem" + }, + "type": "array" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "integer" + }, + { + "type": "string" + }, + { + "type": "object" + }, + { + "items": { + "type": "object" + }, + "type": "array" + } + ], + "title": "Value" + } + }, + "required": [ + "question_id", + "value" + ], + "title": "SuggestionCreate", + "type": "object" + }, + "SuggestionFilterScope": { + "properties": { + "entity": { + "const": "suggestion", + "enum": [ + "suggestion" + ], + "title": "Entity", + "type": "string" + }, + "property": { + "anyOf": [ + { + "enum": [ + "value", + "score", + "agent", + "type" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": "value", + "title": "Property" + }, + "question": { + "description": "The name of the question", + "maxLength": 200, + "minLength": 1, + "title": "Question", + "type": "string" + } + }, + "required": [ + "entity", + "question" + ], + "title": "SuggestionFilterScope", + "type": "object" + }, + "SuggestionType": { + "enum": [ + "model", + "human", + "selection" + ], + "title": "SuggestionType", + "type": "string" + }, + "Suggestions": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Suggestion" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "Suggestions", + "type": "object" + }, + "TableFieldSettings": { + "properties": { + "type": { + "const": "table", + "enum": [ + "table" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "TableFieldSettings", + "type": "object" + }, + "TableFieldSettingsCreate": { + "properties": { + "type": { + "const": "table", + "enum": [ + "table" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "TableFieldSettingsCreate", + "type": "object" + }, + "TableFieldSettingsUpdate": { + "properties": { + "type": { + "const": "table", + "enum": [ + "table" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "TableFieldSettingsUpdate", + "type": "object" + }, + "TableQuestionSettings": { + "properties": { + "columns": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Columns" + }, + "type": { + "const": "table", + "enum": [ + "table" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "TableQuestionSettings", + "type": "object" + }, + "TableQuestionSettingsCreate": { + "properties": { + "columns": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Columns" + }, + "type": { + "const": "table", + "enum": [ + "table" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "TableQuestionSettingsCreate", + "type": "object" + }, + "TableQuestionSettingsUpdate": { + "properties": { + "columns": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Columns" + }, + "type": { + "const": "table", + "enum": [ + "table" + ], + "title": "Type", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "TableQuestionSettingsUpdate", + "type": "object" + }, + "TermCount": { + "properties": { + "count": { + "title": "Count", + "type": "integer" + }, + "term": { + "title": "Term" + } + }, + "required": [ + "term", + "count" + ], + "title": "TermCount", + "type": "object" + }, + "TermsFilter": { + "properties": { + "scope": { + "discriminator": { + "mapping": { + "metadata": "#/components/schemas/MetadataFilterScope", + "record": "#/components/schemas/RecordFilterScope", + "response": "#/components/schemas/ResponseFilterScope", + "suggestion": "#/components/schemas/SuggestionFilterScope" + }, + "propertyName": "entity" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/RecordFilterScope" + }, + { + "$ref": "#/components/schemas/ResponseFilterScope" + }, + { + "$ref": "#/components/schemas/SuggestionFilterScope" + }, + { + "$ref": "#/components/schemas/MetadataFilterScope" + } + ], + "title": "Scope" + }, + "type": { + "const": "terms", + "enum": [ + "terms" + ], + "title": "Type", + "type": "string" + }, + "values": { + "items": { + "type": "string" + }, + "maxItems": 250, + "minItems": 1, + "title": "Values", + "type": "array" + } + }, + "required": [ + "type", + "scope", + "values" + ], + "title": "TermsFilter", + "type": "object" + }, + "TermsMetadataMetrics": { + "properties": { + "total": { + "title": "Total", + "type": "integer" + }, + "type": { + "const": "terms", + "default": "terms", + "enum": [ + "terms" + ], + "title": "Type", + "type": "string" + }, + "values": { + "items": { + "$ref": "#/components/schemas/TermCount" + }, + "title": "Values", + "type": "array" + } + }, + "required": [ + "total" + ], + "title": "TermsMetadataMetrics", + "type": "object" + }, + "TermsMetadataProperty": { + "properties": { + "type": { + "const": "terms", + "enum": [ + "terms" + ], + "title": "Type", + "type": "string" + }, + "values": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Values" + } + }, + "required": [ + "type" + ], + "title": "TermsMetadataProperty", + "type": "object" + }, + "TermsMetadataPropertyCreate": { + "properties": { + "type": { + "const": "terms", + "enum": [ + "terms" + ], + "title": "Type", + "type": "string" + }, + "values": { + "anyOf": [ + { + "items": {}, + "maxItems": 250, + "minItems": 1, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Values" + } + }, + "required": [ + "type" + ], + "title": "TermsMetadataPropertyCreate", + "type": "object" + }, + "TextFieldSettings": { + "properties": { + "type": { + "const": "text", + "enum": [ + "text" + ], + "title": "Type", + "type": "string" + }, + "use_markdown": { + "title": "Use Markdown", + "type": "boolean" + }, + "use_table": { + "title": "Use Table", + "type": "boolean" + } + }, + "required": [ + "type", + "use_markdown", + "use_table" + ], + "title": "TextFieldSettings", + "type": "object" + }, + "TextFieldSettingsCreate": { + "properties": { + "type": { + "const": "text", + "enum": [ + "text" + ], + "title": "Type", + "type": "string" + }, + "use_markdown": { + "default": false, + "title": "Use Markdown", + "type": "boolean" + }, + "use_table": { + "default": false, + "title": "Use Table", + "type": "boolean" + } + }, + "required": [ + "type" + ], + "title": "TextFieldSettingsCreate", + "type": "object" + }, + "TextFieldSettingsUpdate": { + "properties": { + "type": { + "const": "text", + "enum": [ + "text" + ], + "title": "Type", + "type": "string" + }, + "use_markdown": { + "title": "Use Markdown", + "type": "boolean" + }, + "use_table": { + "title": "Use Table", + "type": "boolean" + } + }, + "required": [ + "type", + "use_markdown", + "use_table" + ], + "title": "TextFieldSettingsUpdate", + "type": "object" + }, + "TextQuery": { + "properties": { + "field": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Field" + }, + "q": { + "title": "Q", + "type": "string" + } + }, + "required": [ + "q" + ], + "title": "TextQuery", + "type": "object" + }, + "TextQuestionSettings": { + "properties": { + "columns": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Columns" + }, + "type": { + "const": "text", + "enum": [ + "text" + ], + "title": "Type", + "type": "string" + }, + "use_markdown": { + "default": false, + "title": "Use Markdown", + "type": "boolean" + }, + "use_table": { + "default": false, + "title": "Use Table", + "type": "boolean" + } + }, + "required": [ + "type" + ], + "title": "TextQuestionSettings", + "type": "object" + }, + "TextQuestionSettingsCreate": { + "properties": { + "columns": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Columns" + }, + "type": { + "const": "text", + "enum": [ + "text" + ], + "title": "Type", + "type": "string" + }, + "use_markdown": { + "default": false, + "title": "Use Markdown", + "type": "boolean" + }, + "use_table": { + "default": false, + "title": "Use Table", + "type": "boolean" + } + }, + "required": [ + "type" + ], + "title": "TextQuestionSettingsCreate", + "type": "object" + }, + "TextQuestionSettingsUpdate": { + "properties": { + "columns": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Columns" + }, + "type": { + "const": "text", + "enum": [ + "text" + ], + "title": "Type", + "type": "string" + }, + "use_markdown": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Use Markdown" + }, + "use_table": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Use Table" + } + }, + "required": [ + "type" + ], + "title": "TextQuestionSettingsUpdate", + "type": "object" + }, + "Token": { + "description": "Token response model", + "properties": { + "access_token": { + "title": "Access Token", + "type": "string" + }, + "refresh_token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Refresh Token" + }, + "token_type": { + "default": "bearer", + "title": "Token Type", + "type": "string" + } + }, + "required": [ + "access_token" + ], + "title": "Token", + "type": "object" + }, + "User": { + "properties": { + "api_key": { + "title": "Api Key", + "type": "string" + }, + "first_name": { + "title": "First Name", + "type": "string" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "last_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Last Name" + }, + "role": { + "$ref": "#/components/schemas/UserRole" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + }, + "username": { + "title": "Username", + "type": "string" + } + }, + "required": [ + "id", + "first_name", + "username", + "role", + "api_key", + "inserted_at", + "updated_at" + ], + "title": "User", + "type": "object" + }, + "UserCreate": { + "properties": { + "first_name": { + "description": "The first name for the user", + "minLength": 1, + "title": "First Name", + "type": "string" + }, + "id": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id" + }, + "last_name": { + "anyOf": [ + { + "description": "The last name for the user", + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Last Name" + }, + "password": { + "description": "The password for the user", + "maxLength": 100, + "minLength": 8, + "title": "Password", + "type": "string" + }, + "role": { + "anyOf": [ + { + "$ref": "#/components/schemas/UserRole" + }, + { + "type": "null" + } + ] + }, + "username": { + "description": "The username for the user", + "minLength": 1, + "title": "Username", + "type": "string" + } + }, + "required": [ + "first_name", + "username", + "password" + ], + "title": "UserCreate", + "type": "object" + }, + "UserDiscardedResponseCreate": { + "properties": { + "status": { + "const": "discarded", + "enum": [ + "discarded" + ], + "title": "Status", + "type": "string" + }, + "user_id": { + "format": "uuid", + "title": "User Id", + "type": "string" + }, + "values": { + "anyOf": [ + { + "additionalProperties": { + "$ref": "#/components/schemas/ResponseValueCreate" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Values" + } + }, + "required": [ + "user_id", + "status" + ], + "title": "UserDiscardedResponseCreate", + "type": "object" + }, + "UserDraftResponseCreate": { + "properties": { + "status": { + "const": "draft", + "enum": [ + "draft" + ], + "title": "Status", + "type": "string" + }, + "user_id": { + "format": "uuid", + "title": "User Id", + "type": "string" + }, + "values": { + "additionalProperties": { + "$ref": "#/components/schemas/ResponseValueCreate" + }, + "title": "Values", + "type": "object" + } + }, + "required": [ + "user_id", + "values", + "status" + ], + "title": "UserDraftResponseCreate", + "type": "object" + }, + "UserProgress": { + "properties": { + "completed": { + "$ref": "#/components/schemas/RecordResponseDistribution", + "default": { + "discarded": 0, + "draft": 0, + "submitted": 0 + } + }, + "pending": { + "$ref": "#/components/schemas/RecordResponseDistribution", + "default": { + "discarded": 0, + "draft": 0, + "submitted": 0 + } + }, + "username": { + "title": "Username", + "type": "string" + } + }, + "required": [ + "username" + ], + "title": "UserProgress", + "type": "object" + }, + "UserRole": { + "enum": [ + "owner", + "admin", + "annotator" + ], + "title": "UserRole", + "type": "string" + }, + "UserSubmittedResponseCreate": { + "properties": { + "status": { + "const": "submitted", + "enum": [ + "submitted" + ], + "title": "Status", + "type": "string" + }, + "user_id": { + "format": "uuid", + "title": "User Id", + "type": "string" + }, + "values": { + "additionalProperties": { + "$ref": "#/components/schemas/ResponseValueCreate" + }, + "title": "Values", + "type": "object" + } + }, + "required": [ + "user_id", + "values", + "status" + ], + "title": "UserSubmittedResponseCreate", + "type": "object" + }, + "UserUpdate": { + "properties": { + "first_name": { + "anyOf": [ + { + "description": "The first name for the user", + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "First Name" + }, + "last_name": { + "anyOf": [ + { + "description": "The last name for the user", + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Last Name" + }, + "password": { + "anyOf": [ + { + "description": "The password for the user", + "maxLength": 100, + "minLength": 8, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Password" + }, + "role": { + "anyOf": [ + { + "$ref": "#/components/schemas/UserRole" + }, + { + "type": "null" + } + ] + }, + "username": { + "anyOf": [ + { + "description": "The username for the user", + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Username" + } + }, + "title": "UserUpdate", + "type": "object" + }, + "Users": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/User" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "Users", + "type": "object" + }, + "UsersProgress": { + "properties": { + "users": { + "items": { + "$ref": "#/components/schemas/UserProgress" + }, + "title": "Users", + "type": "array" + } + }, + "required": [ + "users" + ], + "title": "UsersProgress", + "type": "object" + }, + "VectorQuery": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "order": { + "$ref": "#/components/schemas/SimilarityOrder", + "default": "most_similar" + }, + "record_id": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Record Id" + }, + "value": { + "anyOf": [ + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Value" + } + }, + "required": [ + "name" + ], + "title": "VectorQuery", + "type": "object" + }, + "VectorSettings": { + "properties": { + "dataset_id": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + }, + "dimensions": { + "title": "Dimensions", + "type": "integer" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "title": { + "title": "Title", + "type": "string" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + } + }, + "required": [ + "id", + "name", + "title", + "dimensions", + "dataset_id", + "inserted_at", + "updated_at" + ], + "title": "VectorSettings", + "type": "object" + }, + "VectorSettingsCreate": { + "properties": { + "dimensions": { + "exclusiveMinimum": 0.0, + "title": "Dimensions", + "type": "integer" + }, + "name": { + "description": "The title of the vector settings", + "maxLength": 200, + "minLength": 1, + "title": "Name", + "type": "string" + }, + "title": { + "description": "The title of the vector settings", + "maxLength": 500, + "minLength": 1, + "title": "Title", + "type": "string" + } + }, + "required": [ + "name", + "title", + "dimensions" + ], + "title": "VectorSettingsCreate", + "type": "object" + }, + "VectorSettingsUpdate": { + "properties": { + "title": { + "anyOf": [ + { + "description": "The title of the vector settings", + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Title" + } + }, + "required": [ + "title" + ], + "title": "VectorSettingsUpdate", + "type": "object" + }, + "VectorsSettings": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/VectorSettings" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "VectorsSettings", + "type": "object" + }, + "Version": { + "properties": { + "version": { + "title": "Version", + "type": "string" + } + }, + "required": [ + "version" + ], + "title": "Version", + "type": "object" + }, + "Webhook": { + "properties": { + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "enabled": { + "title": "Enabled", + "type": "boolean" + }, + "events": { + "items": { + "$ref": "#/components/schemas/WebhookEvent" + }, + "title": "Events", + "type": "array" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "secret": { + "title": "Secret", + "type": "string" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + }, + "url": { + "title": "Url", + "type": "string" + } + }, + "required": [ + "id", + "url", + "secret", + "events", + "enabled", + "inserted_at", + "updated_at" + ], + "title": "Webhook", + "type": "object" + }, + "WebhookCreate": { + "properties": { + "description": { + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "events": { + "items": { + "$ref": "#/components/schemas/WebhookEvent" + }, + "minItems": 1, + "title": "Events", + "type": "array" + }, + "url": { + "format": "uri", + "maxLength": 2083, + "minLength": 1, + "title": "Url", + "type": "string" + } + }, + "required": [ + "url", + "events" + ], + "title": "WebhookCreate", + "type": "object" + }, + "WebhookEvent": { + "enum": [ + "dataset.created", + "dataset.updated", + "dataset.deleted", + "dataset.published", + "record.created", + "record.updated", + "record.deleted", + "record.completed", + "response.created", + "response.updated", + "response.deleted" + ], + "title": "WebhookEvent", + "type": "string" + }, + "WebhookUpdate": { + "properties": { + "description": { + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "enabled": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Enabled" + }, + "events": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/WebhookEvent" + }, + "minItems": 1, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Events" + }, + "url": { + "anyOf": [ + { + "format": "uri", + "maxLength": 2083, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Url" + } + }, + "title": "WebhookUpdate", + "type": "object" + }, + "Webhooks": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Webhook" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "Webhooks", + "type": "object" + }, + "WorkflowJobResult": { + "description": "Schema for workflow job results with RQ Groups metadata.", + "properties": { + "completed_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When job was completed", + "title": "Completed At" + }, + "completed_jobs": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Number of completed jobs in the group", + "title": "Completed Jobs" + }, + "document_id": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Document ID associated with the job", + "title": "Document Id" + }, + "error": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Error message if job failed", + "title": "Error" + }, + "failed_jobs": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Number of failed jobs in the group", + "title": "Failed Jobs" + }, + "group_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "RQ Group ID for the workflow", + "title": "Group Id" + }, + "group_progress": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Overall progress of the group (0.0-1.0)", + "title": "Group Progress" + }, + "group_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Status of the entire RQ Group", + "title": "Group Status" + }, + "id": { + "description": "Job ID", + "title": "Id", + "type": "string" + }, + "meta": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Additional job metadata", + "title": "Meta" + }, + "progress": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Job progress (0.0-1.0)", + "title": "Progress" + }, + "reference": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Document reference for tracking", + "title": "Reference" + }, + "result": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Job result data", + "title": "Result" + }, + "running_jobs": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Number of running jobs in the group", + "title": "Running Jobs" + }, + "started_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When job was started", + "title": "Started At" + }, + "status": { + "$ref": "#/components/schemas/JobStatus", + "description": "Job status" + }, + "total_jobs": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Total number of jobs in the group", + "title": "Total Jobs" + }, + "workflow_step": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Current workflow step", + "title": "Workflow Step" + }, + "workspace_id": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Workspace ID", + "title": "Workspace Id" + } + }, + "required": [ + "id", + "status" + ], + "title": "WorkflowJobResult", + "type": "object" + }, + "WorkflowStatusResponse": { + "description": "Response schema for workflow status.", + "properties": { + "completed_jobs": { + "description": "Number of completed jobs", + "title": "Completed Jobs", + "type": "integer" + }, + "created_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When workflow was created", + "title": "Created At" + }, + "document_id": { + "description": "Document ID", + "title": "Document Id", + "type": "string" + }, + "error": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Error message if workflow failed", + "title": "Error" + }, + "failed_jobs": { + "description": "Number of failed jobs", + "title": "Failed Jobs", + "type": "integer" + }, + "group_id": { + "description": "RQ Group ID", + "title": "Group Id", + "type": "string" + }, + "jobs": { + "anyOf": [ + { + "items": { + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "Detailed job information", + "title": "Jobs" + }, + "progress": { + "description": "Progress percentage (0.0-1.0)", + "title": "Progress", + "type": "number" + }, + "reference": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Document reference", + "title": "Reference" + }, + "running_jobs": { + "description": "Number of running jobs", + "title": "Running Jobs", + "type": "integer" + }, + "status": { + "description": "Workflow status", + "title": "Status", + "type": "string" + }, + "total_jobs": { + "description": "Total number of jobs", + "title": "Total Jobs", + "type": "integer" + }, + "updated_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When workflow was last updated", + "title": "Updated At" + }, + "workflow_id": { + "description": "Workflow ID", + "title": "Workflow Id", + "type": "string" + }, + "workflow_type": { + "description": "Type of workflow", + "title": "Workflow Type", + "type": "string" + }, + "workspace_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Workspace ID", + "title": "Workspace Id" + }, + "workspace_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Workspace name", + "title": "Workspace Name" + } + }, + "required": [ + "workflow_id", + "document_id", + "group_id", + "status", + "progress", + "workflow_type", + "total_jobs", + "completed_jobs", + "failed_jobs", + "running_jobs" + ], + "title": "WorkflowStatusResponse", + "type": "object" + }, + "Workspace": { + "properties": { + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "inserted_at": { + "format": "date-time", + "title": "Inserted At", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "updated_at": { + "format": "date-time", + "title": "Updated At", + "type": "string" + } + }, + "required": [ + "id", + "name", + "inserted_at", + "updated_at" + ], + "title": "Workspace", + "type": "object" + }, + "WorkspaceCreate": { + "properties": { + "id": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Id" + }, + "name": { + "minLength": 1, + "title": "Name", + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "WorkspaceCreate", + "type": "object" + }, + "WorkspaceDoctorCheckResult": { + "properties": { + "check_name": { + "title": "Check Name", + "type": "string" + }, + "fixed": { + "default": false, + "title": "Fixed", + "type": "boolean" + }, + "message": { + "title": "Message", + "type": "string" + }, + "status": { + "title": "Status", + "type": "string" + } + }, + "required": [ + "check_name", + "status", + "message" + ], + "title": "WorkspaceDoctorCheckResult", + "type": "object" + }, + "WorkspaceDoctorResponse": { + "properties": { + "checks": { + "items": { + "$ref": "#/components/schemas/WorkspaceDoctorCheckResult" + }, + "title": "Checks", + "type": "array" + }, + "overall_status": { + "title": "Overall Status", + "type": "string" + }, + "workspace_id": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + }, + "workspace_name": { + "title": "Workspace Name", + "type": "string" + } + }, + "required": [ + "workspace_id", + "workspace_name", + "checks", + "overall_status" + ], + "title": "WorkspaceDoctorResponse", + "type": "object" + }, + "WorkspaceProjection": { + "properties": { + "columns": { + "items": { + "$ref": "#/components/schemas/WorkspaceProjectionColumn" + }, + "title": "Columns", + "type": "array" + }, + "rows": { + "items": { + "$ref": "#/components/schemas/WorkspaceProjectionRow" + }, + "title": "Rows", + "type": "array" + }, + "total_references": { + "title": "Total References", + "type": "integer" + } + }, + "required": [ + "columns", + "rows", + "total_references" + ], + "title": "WorkspaceProjection", + "type": "object" + }, + "WorkspaceProjectionCell": { + "properties": { + "agent": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Agent" + }, + "record_id": { + "format": "uuid", + "title": "Record Id", + "type": "string" + }, + "score": { + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Score" + }, + "source": { + "enum": [ + "response", + "suggestion" + ], + "title": "Source", + "type": "string" + }, + "value": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "title": "Value" + } + }, + "required": [ + "source", + "record_id" + ], + "title": "WorkspaceProjectionCell", + "type": "object" + }, + "WorkspaceProjectionColumn": { + "properties": { + "dataset_id": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + }, + "dataset_name": { + "title": "Dataset Name", + "type": "string" + }, + "dtype": { + "title": "Dtype", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "question_name": { + "title": "Question Name", + "type": "string" + }, + "sub_column": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Sub Column" + } + }, + "required": [ + "name", + "dataset_id", + "dataset_name", + "question_name", + "dtype" + ], + "title": "WorkspaceProjectionColumn", + "type": "object" + }, + "WorkspaceProjectionRow": { + "properties": { + "cells": { + "additionalProperties": { + "$ref": "#/components/schemas/WorkspaceProjectionCell" + }, + "title": "Cells", + "type": "object" + }, + "reference": { + "title": "Reference", + "type": "string" + }, + "row_index": { + "title": "Row Index", + "type": "integer" + } + }, + "required": [ + "reference", + "row_index", + "cells" + ], + "title": "WorkspaceProjectionRow", + "type": "object" + }, + "WorkspaceUserCreate": { + "properties": { + "user_id": { + "format": "uuid", + "title": "User Id", + "type": "string" + } + }, + "required": [ + "user_id" + ], + "title": "WorkspaceUserCreate", + "type": "object" + }, + "Workspaces": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Workspace" + }, + "title": "Items", + "type": "array" + } + }, + "required": [ + "items" + ], + "title": "Workspaces", + "type": "object" + } + }, + "securitySchemes": { + "APIKeyHeader": { + "in": "header", + "name": "X-Extralit-Api-Key", + "type": "apiKey" + }, + "HTTPBearer": { + "scheme": "bearer", + "type": "http" + } + } + }, + "info": { + "description": "Extralit Server API v1", + "title": "Extralit v1", + "version": "v1" + }, + "openapi": "3.1.0", + "paths": { + "/auth/github/login": { + "post": { + "description": "Start the GitHub OAuth device flow.\n\nReturns only the user_code and verification_uri. The device_code\nis stored server-side and used automatically by the /poll endpoint.", + "operationId": "initiate_github_login_auth_github_login_post", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeviceFlowResponse" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Initiate Github Login", + "tags": [ + "auth" + ] + } + }, + "/auth/github/logout": { + "delete": { + "description": "Clear the stored GitHub token.", + "operationId": "logout_github_auth_github_logout_delete", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": { + "type": "string" + }, + "title": "Response Logout Github Auth Github Logout Delete", + "type": "object" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Logout Github", + "tags": [ + "auth" + ] + } + }, + "/auth/github/poll": { + "post": { + "description": "Poll for the access token after the user authorises on GitHub.\n\nThe client does not need to send a device_code \u2014 it is stored\nserver-side from the /login step.", + "operationId": "poll_github_token_auth_github_poll_post", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PollTokenResponse" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Poll Github Token", + "tags": [ + "auth" + ] + } + }, + "/auth/github/status": { + "get": { + "description": "Check whether the current user has a valid GitHub Copilot token.", + "operationId": "get_auth_status_auth_github_status_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthStatusResponse" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Auth Status", + "tags": [ + "auth" + ] + } + }, + "/chat": { + "post": { + "description": "Chat endpoint using LiteLLM with GitHub Copilot and optional RAG.\n\nThis endpoint requires the user to be authenticated with both Extralit\nand GitHub (via the /auth/github/login flow).\n\nIf dataset_id is provided, the endpoint will perform RAG retrieval:\n1. Generate embedding for the user's query\n2. Search for relevant documents in the dataset\n3. Inject retrieved context into the system prompt\n\nArgs:\n request: Chat request with model, messages, and optional dataset_id\n current_user: Authenticated Extralit user\n db: Database session (injected for RAG)\n search_engine: Search engine instance (injected for RAG)\n\nReturns:\n StreamingResponse with chat completion\n\nRaises:\n HTTPException: If user is not authenticated with GitHub", + "operationId": "chat_chat_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChatRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "text/event-stream": { + "examples": { + "done": { + "summary": "Stream terminator", + "value": "data: [DONE]\n\n" + }, + "error": { + "summary": "Failure mid-stream", + "value": "data: {\"error\": \"Chat completion failed. Please try again.\"}\n\n" + }, + "token": { + "summary": "Content token", + "value": "data: Hello\n\n" + } + }, + "schema": { + "type": "string" + } + } + }, + "description": "A `text/event-stream` of `data:` frames. Each frame carries either a content token, the literal `[DONE]` terminator, or a JSON object with an `error` key." + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Chat", + "tags": [ + "chat" + ] + } + }, + "/chat/models": { + "get": { + "description": "List available chat models.\n\nReturns:\n Dictionary with available models", + "operationId": "list_models_chat_models_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "title": "Response List Models Chat Models Get", + "type": "object" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Models", + "tags": [ + "chat" + ] + } + }, + "/datasets": { + "post": { + "operationId": "create_dataset_datasets_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dataset" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Dataset", + "tags": [ + "datasets" + ] + } + }, + "/datasets/compatible": { + "post": { + "operationId": "list_compatible_datasets_datasets_compatible_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CompatibleDatasetsRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Datasets" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Compatible Datasets", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}": { + "delete": { + "operationId": "delete_dataset_datasets__dataset_id__delete", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dataset" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Dataset", + "tags": [ + "datasets" + ] + }, + "get": { + "operationId": "get_dataset_datasets__dataset_id__get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dataset" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Dataset", + "tags": [ + "datasets" + ] + }, + "patch": { + "operationId": "update_dataset_datasets__dataset_id__patch", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetUpdate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dataset" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Update Dataset", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/export": { + "post": { + "operationId": "export_dataset_to_hub_datasets__dataset_id__export_post", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HubDatasetExport" + } + } + }, + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Export Dataset To Hub", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/fields": { + "get": { + "operationId": "list_dataset_fields_datasets__dataset_id__fields_get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Fields" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Dataset Fields", + "tags": [ + "datasets" + ] + }, + "post": { + "operationId": "create_dataset_field_datasets__dataset_id__fields_post", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FieldCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Field" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Dataset Field", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/import": { + "post": { + "operationId": "import_dataset_from_import_history_datasets__dataset_id__import_post", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportHistoryDataset" + } + } + }, + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Import Dataset From Import History", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/import-hub": { + "post": { + "operationId": "import_dataset_from_hub_datasets__dataset_id__import_hub_post", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HubDataset" + } + } + }, + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Import Dataset From Hub", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/metadata-properties": { + "post": { + "operationId": "create_dataset_metadata_property_datasets__dataset_id__metadata_properties_post", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataPropertyCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataProperty" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Dataset Metadata Property", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/progress": { + "get": { + "operationId": "get_dataset_progress_datasets__dataset_id__progress_get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetProgress" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Dataset Progress", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/publish": { + "put": { + "operationId": "publish_dataset_datasets__dataset_id__publish_put", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dataset" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Publish Dataset", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/questions": { + "get": { + "operationId": "list_dataset_questions_datasets__dataset_id__questions_get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Questions" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Dataset Questions", + "tags": [ + "datasets" + ] + }, + "post": { + "operationId": "create_dataset_question_datasets__dataset_id__questions_post", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuestionCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Question" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Dataset Question", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/records": { + "delete": { + "operationId": "delete_dataset_records_datasets__dataset_id__records_delete", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + }, + { + "description": "A comma separated list with the IDs of the records to be removed", + "in": "query", + "name": "ids", + "required": true, + "schema": { + "description": "A comma separated list with the IDs of the records to be removed", + "title": "Ids", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Dataset Records", + "tags": [ + "datasets" + ] + }, + "get": { + "operationId": "list_dataset_records_datasets__dataset_id__records_get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + }, + { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "title": "Offset", + "type": "integer" + } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 50, + "maximum": 1000, + "minimum": 1, + "title": "Limit", + "type": "integer" + } + }, + { + "description": "Filter records by exact `reference` match", + "in": "query", + "name": "reference", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter records by exact `reference` match", + "title": "Reference" + } + }, + { + "in": "query", + "name": "include", + "required": false, + "schema": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "help": "Relationships to include in the response", + "title": "Include" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Records" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Dataset Records", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/records/bulk": { + "post": { + "operationId": "create_dataset_records_bulk_datasets__dataset_id__records_bulk_post", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecordsBulkCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecordsBulk" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Dataset Records Bulk", + "tags": [ + "datasets" + ] + }, + "put": { + "operationId": "upsert_dataset_records_bulk_datasets__dataset_id__records_bulk_put", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecordsBulkUpsert" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecordsBulk" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Upsert Dataset Records Bulk", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/records/search": { + "post": { + "operationId": "search_dataset_records_datasets__dataset_id__records_search_post", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + }, + { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "minimum": 0, + "title": "Offset", + "type": "integer" + } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 50, + "maximum": 1000, + "minimum": 1, + "title": "Limit", + "type": "integer" + } + }, + { + "in": "query", + "name": "include", + "required": false, + "schema": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "help": "Relationships to include in the response", + "title": "Include" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchRecordsQuery" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchRecordsResult" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Search Dataset Records", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/records/search/suggestions/options": { + "get": { + "operationId": "list_dataset_records_search_suggestions_options_datasets__dataset_id__records_search_suggestions_options_get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchSuggestionsOptions" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Dataset Records Search Suggestions Options", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/schema-versions": { + "get": { + "operationId": "list_schema_versions_datasets__dataset_id__schema_versions_get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/SchemaVersionRead" + }, + "title": "Response List Schema Versions Datasets Dataset Id Schema Versions Get", + "type": "array" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Schema Versions", + "tags": [ + "datasets" + ] + }, + "post": { + "operationId": "publish_schema_version_datasets__dataset_id__schema_versions_post", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchemaVersionCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchemaVersionRead" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Publish Schema Version", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/schema-versions/{version}": { + "get": { + "operationId": "get_schema_version_datasets__dataset_id__schema_versions__version__get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + }, + { + "in": "path", + "name": "version", + "required": true, + "schema": { + "title": "Version", + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchemaVersionRead" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Schema Version", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/users/progress": { + "get": { + "operationId": "get_dataset_users_progress_datasets__dataset_id__users_progress_get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UsersProgress" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Dataset Users Progress", + "tags": [ + "datasets" + ] + } + }, + "/datasets/{dataset_id}/vectors-settings": { + "get": { + "operationId": "list_dataset_vector_settings_datasets__dataset_id__vectors_settings_get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VectorsSettings" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Dataset Vector Settings", + "tags": [ + "datasets" + ] + }, + "post": { + "operationId": "create_dataset_vector_settings_datasets__dataset_id__vectors_settings_post", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VectorSettingsCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VectorSettings" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Dataset Vector Settings", + "tags": [ + "datasets" + ] + } + }, + "/documents": { + "get": { + "description": "Get documents by ID, PMID, DOI, or reference.", + "operationId": "get_document_documents_get", + "parameters": [ + { + "description": "Workspace ID", + "in": "query", + "name": "workspace_id", + "required": true, + "schema": { + "description": "Workspace ID", + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + { + "description": "Document ID", + "in": "query", + "name": "id", + "required": false, + "schema": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Document ID", + "title": "Id" + } + }, + { + "description": "Document reference", + "in": "query", + "name": "reference", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Document reference", + "title": "Reference" + } + }, + { + "description": "PubMed ID", + "in": "query", + "name": "pmid", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "PubMed ID", + "title": "Pmid" + } + }, + { + "description": "DOI", + "in": "query", + "name": "doi", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "DOI", + "title": "Doi" + } + }, + { + "description": "Maximum number of documents to return", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Maximum number of documents to return", + "title": "Limit" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/DocumentListItem" + }, + "title": "Response Get Document Documents Get", + "type": "array" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Document", + "tags": [ + "documents" + ] + }, + "post": { + "operationId": "add_document_documents_post", + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_add_document_documents_post" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "format": "uuid", + "title": "Response Add Document Documents Post", + "type": "string" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Add Document", + "tags": [ + "documents" + ] + } + }, + "/documents/bulk": { + "post": { + "description": "Bulk upload documents with associated PDF files.\n\n - `documents_metadata`: JSON string matching the DocumentsBulkCreate schema.\n Example:\n {\n \"documents\": [\n {\n \"reference\": \"ref1\",\n \"document_create\": { ... },\n \"associated_file\": \"file1.pdf\"\n }\n ]\n }\n - `files`: List of PDF files to upload.\n\nIt processes the documents in batches and returns job IDs for tracking.", + "operationId": "create_documents_bulk_documents_bulk_post", + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_create_documents_bulk_documents_bulk_post" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocumentsBulkResponse" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Documents Bulk", + "tags": [ + "documents" + ] + } + }, + "/documents/workspace/{workspace_id}": { + "delete": { + "description": "Delete a specific document by id only", + "operationId": "delete_documents_by_workspace_id_documents_workspace__workspace_id__delete", + "parameters": [ + { + "in": "path", + "name": "workspace_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/DocumentDelete" + }, + { + "type": "null" + } + ], + "title": "Document Delete" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "title": "Response Delete Documents By Workspace Id Documents Workspace Workspace Id Delete", + "type": "integer" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Documents By Workspace Id", + "tags": [ + "documents" + ] + }, + "get": { + "operationId": "list_documents_documents_workspace__workspace_id__get", + "parameters": [ + { + "in": "path", + "name": "workspace_id", + "required": true, + "schema": { + "format": "uuid", + "title": "The UUID of the workspace whose documents will be retrieved", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/DocumentListItem" + }, + "title": "Response List Documents Documents Workspace Workspace Id Get", + "type": "array" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Documents", + "tags": [ + "documents" + ] + } + }, + "/documents/{document_id}/layout": { + "get": { + "description": "Get the extracted layout of a document, with per-item page regions.", + "operationId": "get_document_layout_documents__document_id__layout_get", + "parameters": [ + { + "in": "path", + "name": "document_id", + "required": true, + "schema": { + "format": "uuid", + "title": "The UUID of the document whose layout will be retrieved", + "type": "string" + } + }, + { + "description": "1-indexed pages to include", + "in": "query", + "name": "pages", + "required": false, + "schema": { + "anyOf": [ + { + "items": { + "type": "integer" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "1-indexed pages to include", + "title": "Pages" + } + }, + { + "description": "DocItemLabels to include, e.g. `table`", + "in": "query", + "name": "labels", + "required": false, + "schema": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "DocItemLabels to include, e.g. `table`", + "title": "Labels" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocumentLayoutOut" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Document Layout", + "tags": [ + "documents" + ] + } + }, + "/documents/{id}": { + "patch": { + "description": "Update a document by ID.", + "operationId": "update_document_documents__id__patch", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "format": "uuid", + "title": "The UUID of the document to update", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocumentUpdate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocumentListItem" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Update Document", + "tags": [ + "documents" + ] + } + }, + "/fields/{field_id}": { + "delete": { + "operationId": "delete_field_fields__field_id__delete", + "parameters": [ + { + "in": "path", + "name": "field_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Field Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Field" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Field", + "tags": [ + "fields" + ] + }, + "patch": { + "operationId": "update_field_fields__field_id__patch", + "parameters": [ + { + "in": "path", + "name": "field_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Field Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FieldUpdate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Field" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Update Field", + "tags": [ + "fields" + ] + } + }, + "/file/{bucket}/{object}": { + "delete": { + "operationId": "delete_files_file__bucket___object__delete", + "parameters": [ + { + "in": "path", + "name": "bucket", + "required": true, + "schema": { + "title": "Bucket", + "type": "string" + } + }, + { + "in": "path", + "name": "object", + "required": true, + "schema": { + "title": "Object", + "type": "string" + } + }, + { + "in": "query", + "name": "version_id", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Version Id" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Files", + "tags": [ + "files" + ] + }, + "get": { + "operationId": "get_file_file__bucket___object__get", + "parameters": [ + { + "in": "path", + "name": "bucket", + "required": true, + "schema": { + "title": "Bucket", + "type": "string" + } + }, + { + "in": "path", + "name": "object", + "required": true, + "schema": { + "title": "Object", + "type": "string" + } + }, + { + "in": "query", + "name": "version_id", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Version Id" + } + }, + { + "in": "header", + "name": "range", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Range" + } + }, + { + "in": "header", + "name": "if-none-match", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "If-None-Match" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get File", + "tags": [ + "files" + ] + }, + "options": { + "description": "Handle CORS preflight requests for file access", + "operationId": "options_file_file__bucket___object__options", + "parameters": [ + { + "in": "path", + "name": "bucket", + "required": true, + "schema": { + "title": "Bucket", + "type": "string" + } + }, + { + "in": "path", + "name": "object", + "required": true, + "schema": { + "title": "Object", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "summary": "Options File", + "tags": [ + "files" + ] + }, + "post": { + "operationId": "put_file_file__bucket___object__post", + "parameters": [ + { + "in": "path", + "name": "bucket", + "required": true, + "schema": { + "title": "Bucket", + "type": "string" + } + }, + { + "in": "path", + "name": "object", + "required": true, + "schema": { + "title": "Object", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_put_file_file__bucket___object__post" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectMetadata" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Put File", + "tags": [ + "files" + ] + } + }, + "/files/{bucket}/{prefix}": { + "get": { + "operationId": "list_objects_endpoint_files__bucket___prefix__get", + "parameters": [ + { + "in": "path", + "name": "bucket", + "required": true, + "schema": { + "title": "Bucket", + "type": "string" + } + }, + { + "in": "path", + "name": "prefix", + "required": true, + "schema": { + "title": "Prefix", + "type": "string" + } + }, + { + "in": "query", + "name": "include_version", + "required": false, + "schema": { + "default": true, + "title": "Include Version" + } + }, + { + "in": "query", + "name": "recursive", + "required": false, + "schema": { + "default": true, + "title": "Recursive" + } + }, + { + "in": "query", + "name": "start_after", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Start After" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ListObjectsResponse" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Objects Endpoint", + "tags": [ + "files" + ] + } + }, + "/imports/analyze": { + "post": { + "description": "Analyze import request to determine add/update/skip status for each document.\n\nThis endpoint receives file metadata (not file contents) from the frontend\nand analyzes which documents should be added, updated, skipped, or failed\nbased on existing documents in the workspace.\n\nArgs:\n analysis_request: Request containing workspace_id and documents metadata\n db: Database session\n current_user: Authenticated user\n\nReturns:\n ImportAnalysisResponse with document statuses and summary\n\nRaises:\n HTTPException: If workspace doesn't exist or other validation errors occur", + "operationId": "analyze_import_imports_analyze_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportAnalysisRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportAnalysisResponse" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Analyze Import", + "tags": [ + "imports" + ] + } + }, + "/imports/history": { + "get": { + "description": "List import history records for a workspace.\n\nArgs:\n workspace_id: Workspace ID to filter import histories\n limit: Optional limit on number of records to return (for Recent Imports sidebar)\n db: Database session\n current_user: Authenticated user\n\nReturns:\n List of ImportHistoryResponse records\n\nRaises:\n HTTPException: If workspace doesn't exist or access denied", + "operationId": "list_import_histories_imports_history_get", + "parameters": [ + { + "in": "query", + "name": "workspace_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Limit" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/ImportHistoryResponse" + }, + "title": "Response List Import Histories Imports History Get", + "type": "array" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Import Histories", + "tags": [ + "imports" + ] + }, + "post": { + "description": "Create import history record to store generic tabular dataframe data.\n\nThis endpoint is called after bulk upload completion to store the complete\nimport record with the original parsed data (BibTeX, CSV, etc.) in a\nstandardized dataframe format.\n\nArgs:\n import_history_create: Import history creation data\n db: Database session\n current_user: Authenticated user\n\nReturns:\n ImportHistoryResponse with created record information\n\nRaises:\n HTTPException: If workspace doesn't exist or creation fails", + "operationId": "create_import_history_endpoint_imports_history_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportHistoryCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportHistoryCreateResponse" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Import History Endpoint", + "tags": [ + "imports" + ] + } + }, + "/imports/history/{history_id}": { + "get": { + "description": "Get detailed import history record including data and metadata.\n\nArgs:\n history_id: Import history record ID\n db: Database session\n current_user: Authenticated user\n\nReturns:\n Complete import history record with data and metadata\n\nRaises:\n HTTPException: If record doesn't exist or access denied", + "operationId": "get_import_history_imports_history__history_id__get", + "parameters": [ + { + "in": "path", + "name": "history_id", + "required": true, + "schema": { + "format": "uuid", + "title": "History Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportHistoryResponse" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Import History", + "tags": [ + "imports" + ] + } + }, + "/jobs/": { + "get": { + "description": "Get jobs using RQ Groups-based querying.\n\nMaps document IDs to RQ Groups for efficient job status retrieval.\nFor reference-level queries, searches over documents linked to the reference.", + "operationId": "get_jobs_jobs__get", + "parameters": [ + { + "description": "Filter by document ID", + "in": "query", + "name": "document_id", + "required": false, + "schema": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by document ID", + "title": "Document Id" + } + }, + { + "description": "Filter by document reference", + "in": "query", + "name": "reference", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by document reference", + "title": "Reference" + } + }, + { + "description": "Filter by RQ Group ID", + "in": "query", + "name": "group_id", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by RQ Group ID", + "title": "Group Id" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/WorkflowJobResult" + }, + "title": "Response Get Jobs Jobs Get", + "type": "array" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Jobs", + "tags": [ + "jobs" + ] + } + }, + "/jobs/{job_id}": { + "get": { + "operationId": "get_job_jobs__job_id__get", + "parameters": [ + { + "in": "path", + "name": "job_id", + "required": true, + "schema": { + "title": "Job Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Job", + "tags": [ + "jobs" + ] + } + }, + "/me": { + "get": { + "operationId": "get_current_user_me_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Current User", + "tags": [ + "users" + ] + } + }, + "/me/datasets": { + "get": { + "operationId": "list_current_user_datasets_me_datasets_get", + "parameters": [ + { + "description": "Filter by workspace_id", + "in": "query", + "name": "workspace_id", + "required": false, + "schema": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by workspace_id", + "title": "Workspace Id" + } + }, + { + "description": "Filter by dataset name", + "in": "query", + "name": "name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by dataset name", + "title": "Name" + } + }, + { + "description": "Filter by dataset status", + "in": "query", + "name": "status", + "required": false, + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/DatasetStatus" + }, + { + "type": "null" + } + ], + "description": "Filter by dataset status", + "title": "Status" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Datasets" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Current User Datasets", + "tags": [ + "datasets" + ] + } + }, + "/me/datasets/projection": { + "get": { + "operationId": "get_workspace_projection_me_datasets_projection_get", + "parameters": [ + { + "description": "The workspace to project", + "in": "query", + "name": "workspace_id", + "required": true, + "schema": { + "description": "The workspace to project", + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + { + "description": "Reference offset (not fan-out rows)", + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "description": "Reference offset (not fan-out rows)", + "minimum": 0, + "title": "Offset", + "type": "integer" + } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 50, + "maximum": 100, + "minimum": 1, + "title": "Limit", + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkspaceProjection" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Workspace Projection", + "tags": [ + "projection" + ] + } + }, + "/me/datasets/{dataset_id}/metadata-properties": { + "get": { + "operationId": "list_current_user_dataset_metadata_properties_me_datasets__dataset_id__metadata_properties_get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataProperties" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Current User Dataset Metadata Properties", + "tags": [ + "datasets" + ] + } + }, + "/me/datasets/{dataset_id}/metrics": { + "get": { + "operationId": "get_current_user_dataset_metrics_me_datasets__dataset_id__metrics_get", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetMetrics" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Current User Dataset Metrics", + "tags": [ + "datasets" + ] + } + }, + "/me/datasets/{dataset_id}/records/search": { + "post": { + "operationId": "search_current_user_dataset_records_me_datasets__dataset_id__records_search_post", + "parameters": [ + { + "in": "path", + "name": "dataset_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Dataset Id", + "type": "string" + } + }, + { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "minimum": 0, + "title": "Offset", + "type": "integer" + } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 50, + "maximum": 1000, + "minimum": 1, + "title": "Limit", + "type": "integer" + } + }, + { + "in": "query", + "name": "include", + "required": false, + "schema": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "help": "Relationships to include in the response", + "title": "Include" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchRecordsQuery" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchRecordsResult" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Search Current User Dataset Records", + "tags": [ + "datasets" + ] + } + }, + "/me/responses/bulk": { + "post": { + "operationId": "create_current_user_responses_bulk_me_responses_bulk_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesBulkCreate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesBulk" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Current User Responses Bulk", + "tags": [ + "responses" + ] + } + }, + "/me/workspaces": { + "get": { + "operationId": "list_workspaces_me_me_workspaces_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Workspaces" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Workspaces Me", + "tags": [ + "workspaces" + ] + } + }, + "/metadata-properties/{metadata_property_id}": { + "delete": { + "operationId": "delete_metadata_property_metadata_properties__metadata_property_id__delete", + "parameters": [ + { + "in": "path", + "name": "metadata_property_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Metadata Property Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataProperty" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Metadata Property", + "tags": [ + "metadata properties" + ] + }, + "patch": { + "operationId": "update_metadata_property_metadata_properties__metadata_property_id__patch", + "parameters": [ + { + "in": "path", + "name": "metadata_property_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Metadata Property Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataPropertyUpdate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataProperty" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Update Metadata Property", + "tags": [ + "metadata properties" + ] + } + }, + "/metadata-properties/{metadata_property_id}/metrics": { + "get": { + "operationId": "get_metadata_property_metrics_metadata_properties__metadata_property_id__metrics_get", + "parameters": [ + { + "in": "path", + "name": "metadata_property_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Metadata Property Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "discriminator": { + "mapping": { + "float": "#/components/schemas/FloatMetadataMetrics", + "integer": "#/components/schemas/IntegerMetadataMetrics", + "terms": "#/components/schemas/TermsMetadataMetrics" + }, + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/TermsMetadataMetrics" + }, + { + "$ref": "#/components/schemas/IntegerMetadataMetrics" + }, + { + "$ref": "#/components/schemas/FloatMetadataMetrics" + } + ], + "title": "Response Get Metadata Property Metrics Metadata Properties Metadata Property Id Metrics Get" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Metadata Property Metrics", + "tags": [ + "metadata properties" + ] + } + }, + "/models/{rest_of_path}": { + "delete": { + "operationId": "proxy_models_delete", + "parameters": [ + { + "in": "path", + "name": "rest_of_path", + "required": true, + "schema": { + "title": "Rest Of Path", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "text/event-stream": { + "schema": { + "type": "string" + } + } + }, + "description": "Opaque `text/event-stream` relayed verbatim from the upstream model service." + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Proxy", + "tags": [ + "models" + ] + }, + "get": { + "operationId": "proxy_models_get", + "parameters": [ + { + "in": "path", + "name": "rest_of_path", + "required": true, + "schema": { + "title": "Rest Of Path", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "text/event-stream": { + "schema": { + "type": "string" + } + } + }, + "description": "Opaque `text/event-stream` relayed verbatim from the upstream model service." + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Proxy", + "tags": [ + "models" + ] + }, + "post": { + "operationId": "proxy_models_post", + "parameters": [ + { + "in": "path", + "name": "rest_of_path", + "required": true, + "schema": { + "title": "Rest Of Path", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "text/event-stream": { + "schema": { + "type": "string" + } + } + }, + "description": "Opaque `text/event-stream` relayed verbatim from the upstream model service." + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Proxy", + "tags": [ + "models" + ] + }, + "put": { + "operationId": "proxy_models_put", + "parameters": [ + { + "in": "path", + "name": "rest_of_path", + "required": true, + "schema": { + "title": "Rest Of Path", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "text/event-stream": { + "schema": { + "type": "string" + } + } + }, + "description": "Opaque `text/event-stream` relayed verbatim from the upstream model service." + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Proxy", + "tags": [ + "models" + ] + } + }, + "/oauth2/providers": { + "get": { + "operationId": "list_providers_oauth2_providers_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Providers" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "summary": "List Providers", + "tags": [ + "Authentication" + ] + } + }, + "/oauth2/providers/{provider}/access-token": { + "get": { + "operationId": "get_access_token_oauth2_providers__provider__access_token_get", + "parameters": [ + { + "in": "path", + "name": "provider", + "required": true, + "schema": { + "title": "Provider", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Token" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "summary": "Get Access Token", + "tags": [ + "Authentication" + ] + } + }, + "/oauth2/providers/{provider}/authentication": { + "get": { + "operationId": "get_authentication_oauth2_providers__provider__authentication_get", + "parameters": [ + { + "in": "path", + "name": "provider", + "required": true, + "schema": { + "title": "Provider", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "summary": "Get Authentication", + "tags": [ + "Authentication" + ] + } + }, + "/questions/{question_id}": { + "delete": { + "operationId": "delete_question_questions__question_id__delete", + "parameters": [ + { + "in": "path", + "name": "question_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Question Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Question" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Question", + "tags": [ + "questions" + ] + }, + "patch": { + "operationId": "update_question_questions__question_id__patch", + "parameters": [ + { + "in": "path", + "name": "question_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Question Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuestionUpdate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Question" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Update Question", + "tags": [ + "questions" + ] + } + }, + "/records/{record_id}": { + "delete": { + "operationId": "delete_record_records__record_id__delete", + "parameters": [ + { + "in": "path", + "name": "record_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Record Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Record" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Record", + "tags": [ + "records" + ] + }, + "get": { + "operationId": "get_record_records__record_id__get", + "parameters": [ + { + "in": "path", + "name": "record_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Record Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Record" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Record", + "tags": [ + "records" + ] + }, + "patch": { + "operationId": "update_record_records__record_id__patch", + "parameters": [ + { + "in": "path", + "name": "record_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Record Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecordUpdate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Record" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Update Record", + "tags": [ + "records" + ] + } + }, + "/records/{record_id}/responses": { + "post": { + "operationId": "create_record_response_records__record_id__responses_post", + "parameters": [ + { + "in": "path", + "name": "record_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Record Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponseCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Response" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Record Response", + "tags": [ + "records" + ] + } + }, + "/records/{record_id}/suggestions": { + "delete": { + "operationId": "delete_record_suggestions_records__record_id__suggestions_delete", + "parameters": [ + { + "in": "path", + "name": "record_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Record Id", + "type": "string" + } + }, + { + "description": "A comma separated list with the IDs of the suggestions to be removed", + "in": "query", + "name": "ids", + "required": true, + "schema": { + "description": "A comma separated list with the IDs of the suggestions to be removed", + "title": "Ids", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete suggestions for a record", + "tags": [ + "records" + ] + }, + "get": { + "operationId": "get_record_suggestions_records__record_id__suggestions_get", + "parameters": [ + { + "in": "path", + "name": "record_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Record Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Suggestions" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Record Suggestions", + "tags": [ + "records" + ] + }, + "put": { + "operationId": "upsert_suggestion_records__record_id__suggestions_put", + "parameters": [ + { + "in": "path", + "name": "record_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Record Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SuggestionCreate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Suggestion" + } + } + }, + "description": "Suggestion updated" + }, + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Suggestion" + } + } + }, + "description": "Suggestion created" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create or update a suggestion", + "tags": [ + "records" + ] + } + }, + "/responses/{response_id}": { + "delete": { + "operationId": "delete_response_responses__response_id__delete", + "parameters": [ + { + "in": "path", + "name": "response_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Response Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Response" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Response", + "tags": [ + "responses" + ] + }, + "put": { + "operationId": "update_response_responses__response_id__put", + "parameters": [ + { + "in": "path", + "name": "response_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Response Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "discriminator": { + "mapping": { + "discarded": "#/components/schemas/DiscardedResponseUpdate", + "draft": "#/components/schemas/DraftResponseUpdate", + "submitted": "#/components/schemas/SubmittedResponseUpdate" + }, + "propertyName": "status" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/SubmittedResponseUpdate" + }, + { + "$ref": "#/components/schemas/DiscardedResponseUpdate" + }, + { + "$ref": "#/components/schemas/DraftResponseUpdate" + } + ], + "title": "Response Update" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Response" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Update Response", + "tags": [ + "responses" + ] + } + }, + "/settings": { + "get": { + "operationId": "get_settings_settings_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Settings" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "summary": "Get Settings", + "tags": [ + "settings" + ] + } + }, + "/status": { + "get": { + "operationId": "get_status_status_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Status" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "summary": "Get Status", + "tags": [ + "info" + ] + } + }, + "/suggestions/{suggestion_id}": { + "delete": { + "operationId": "delete_suggestion_suggestions__suggestion_id__delete", + "parameters": [ + { + "in": "path", + "name": "suggestion_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Suggestion Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Suggestion" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Suggestion", + "tags": [ + "suggestions" + ] + } + }, + "/token": { + "post": { + "operationId": "create_token_token_post", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/Body_create_token_token_post" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Token" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "summary": "Create Token", + "tags": [ + "Authentication" + ] + } + }, + "/token/refresh": { + "post": { + "description": "Refresh an access token using a valid refresh token.\nThis endpoint does not require database access, improving reliability.", + "operationId": "refresh_token_token_refresh_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefreshTokenRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Token" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "summary": "Refresh Token", + "tags": [ + "Authentication" + ] + } + }, + "/users": { + "get": { + "operationId": "list_users_users_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Users", + "tags": [ + "users" + ] + }, + "post": { + "operationId": "create_user_users_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create User", + "tags": [ + "users" + ] + } + }, + "/users/{user_id}": { + "delete": { + "operationId": "delete_user_users__user_id__delete", + "parameters": [ + { + "in": "path", + "name": "user_id", + "required": true, + "schema": { + "format": "uuid", + "title": "User Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete User", + "tags": [ + "users" + ] + }, + "get": { + "operationId": "get_user_users__user_id__get", + "parameters": [ + { + "in": "path", + "name": "user_id", + "required": true, + "schema": { + "format": "uuid", + "title": "User Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get User", + "tags": [ + "users" + ] + }, + "patch": { + "operationId": "update_user_users__user_id__patch", + "parameters": [ + { + "in": "path", + "name": "user_id", + "required": true, + "schema": { + "format": "uuid", + "title": "User Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserUpdate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Update User", + "tags": [ + "users" + ] + } + }, + "/users/{user_id}/workspaces": { + "get": { + "operationId": "list_user_workspaces_users__user_id__workspaces_get", + "parameters": [ + { + "in": "path", + "name": "user_id", + "required": true, + "schema": { + "format": "uuid", + "title": "User Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Workspaces" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List User Workspaces", + "tags": [ + "users" + ] + } + }, + "/vectors-settings/{vector_settings_id}": { + "delete": { + "operationId": "delete_vector_settings_vectors_settings__vector_settings_id__delete", + "parameters": [ + { + "in": "path", + "name": "vector_settings_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Vector Settings Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VectorSettings" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Vector Settings", + "tags": [ + "vectors-settings" + ] + }, + "patch": { + "operationId": "update_vector_settings_vectors_settings__vector_settings_id__patch", + "parameters": [ + { + "in": "path", + "name": "vector_settings_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Vector Settings Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VectorSettingsUpdate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VectorSettings" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Update Vector Settings", + "tags": [ + "vectors-settings" + ] + } + }, + "/version": { + "get": { + "operationId": "get_version_version_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Version" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "summary": "Get Version", + "tags": [ + "info" + ] + } + }, + "/webhooks": { + "get": { + "operationId": "list_webhooks_webhooks_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Webhooks" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Webhooks", + "tags": [ + "webhooks" + ] + }, + "post": { + "operationId": "create_webhook_webhooks_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WebhookCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Webhook" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Webhook", + "tags": [ + "webhooks" + ] + } + }, + "/webhooks/{webhook_id}": { + "delete": { + "operationId": "delete_webhook_webhooks__webhook_id__delete", + "parameters": [ + { + "in": "path", + "name": "webhook_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Webhook Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Webhook" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Webhook", + "tags": [ + "webhooks" + ] + }, + "patch": { + "operationId": "update_webhook_webhooks__webhook_id__patch", + "parameters": [ + { + "in": "path", + "name": "webhook_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Webhook Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WebhookUpdate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Webhook" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Update Webhook", + "tags": [ + "webhooks" + ] + } + }, + "/webhooks/{webhook_id}/ping": { + "post": { + "operationId": "ping_webhook_webhooks__webhook_id__ping_post", + "parameters": [ + { + "in": "path", + "name": "webhook_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Webhook Id", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Ping Webhook", + "tags": [ + "webhooks" + ] + } + }, + "/workflows/": { + "get": { + "description": "List workflows with optional filtering.", + "operationId": "list_workflows_workflows__get", + "parameters": [ + { + "description": "Filter by workspace name", + "in": "query", + "name": "workspace_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by workspace name", + "title": "Workspace Name" + } + }, + { + "description": "Filter by status", + "in": "query", + "name": "status_filter", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by status", + "title": "Status Filter" + } + }, + { + "description": "Maximum number of workflows to return", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 50, + "description": "Maximum number of workflows to return", + "title": "Limit", + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/WorkflowStatusResponse" + }, + "title": "Response List Workflows Workflows Get", + "type": "array" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Workflows", + "tags": [ + "workflows" + ] + } + }, + "/workflows/restart": { + "post": { + "description": "Restart failed workflow jobs using RQ Groups.", + "operationId": "restart_workflow_workflows_restart_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RestartWorkflowRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StartWorkflowResponse" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Restart Workflow", + "tags": [ + "workflows" + ] + } + }, + "/workflows/start": { + "post": { + "description": "Start PDF processing workflow for a document.", + "operationId": "start_workflow_workflows_start_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StartWorkflowRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StartWorkflowResponse" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Start Workflow", + "tags": [ + "workflows" + ] + } + }, + "/workflows/status": { + "get": { + "description": "Get workflow status for documents.", + "operationId": "get_workflow_status_endpoint_workflows_status_get", + "parameters": [ + { + "description": "Filter by document ID", + "in": "query", + "name": "document_id", + "required": false, + "schema": { + "anyOf": [ + { + "format": "uuid", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by document ID", + "title": "Document Id" + } + }, + { + "description": "Filter by document reference", + "in": "query", + "name": "reference", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by document reference", + "title": "Reference" + } + }, + { + "description": "Filter by workspace name", + "in": "query", + "name": "workspace_name", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by workspace name", + "title": "Workspace Name" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/WorkflowStatusResponse" + }, + "title": "Response Get Workflow Status Endpoint Workflows Status Get", + "type": "array" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Workflow Status Endpoint", + "tags": [ + "workflows" + ] + } + }, + "/workspaces": { + "post": { + "operationId": "create_workspace_workspaces_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkspaceCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Workspace" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Workspace", + "tags": [ + "workspaces" + ] + } + }, + "/workspaces/{workspace_id}": { + "delete": { + "operationId": "delete_workspace_workspaces__workspace_id__delete", + "parameters": [ + { + "in": "path", + "name": "workspace_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Workspace" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Workspace", + "tags": [ + "workspaces" + ] + }, + "get": { + "operationId": "get_workspace_workspaces__workspace_id__get", + "parameters": [ + { + "in": "path", + "name": "workspace_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Workspace" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Get Workspace", + "tags": [ + "workspaces" + ] + } + }, + "/workspaces/{workspace_id}/doctor": { + "post": { + "description": "Run diagnostics on a workspace and optionally auto-fix issues.\n\nChecks:\n- S3 bucket exists (can auto-fix)\n- Bucket has proper versioning policy (informational)\n- RQ worker pool connectivity (informational)", + "operationId": "workspace_doctor_workspaces__workspace_id__doctor_post", + "parameters": [ + { + "in": "path", + "name": "workspace_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + { + "in": "query", + "name": "autofix", + "required": false, + "schema": { + "default": true, + "title": "Autofix", + "type": "boolean" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkspaceDoctorResponse" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Workspace Doctor", + "tags": [ + "workspaces" + ] + } + }, + "/workspaces/{workspace_id}/users": { + "get": { + "operationId": "list_workspace_users_workspaces__workspace_id__users_get", + "parameters": [ + { + "in": "path", + "name": "workspace_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "List Workspace Users", + "tags": [ + "workspaces" + ] + }, + "post": { + "operationId": "create_workspace_user_workspaces__workspace_id__users_post", + "parameters": [ + { + "in": "path", + "name": "workspace_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkspaceUserCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Create Workspace User", + "tags": [ + "workspaces" + ] + } + }, + "/workspaces/{workspace_id}/users/{user_id}": { + "delete": { + "operationId": "delete_workspace_user_workspaces__workspace_id__users__user_id__delete", + "parameters": [ + { + "in": "path", + "name": "workspace_id", + "required": true, + "schema": { + "format": "uuid", + "title": "Workspace Id", + "type": "string" + } + }, + { + "in": "path", + "name": "user_id", + "required": true, + "schema": { + "format": "uuid", + "title": "User Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + }, + "description": "Successful Response" + }, + "400": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::MissingDatasetRecordsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ForbiddenOperationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityNotFoundError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Not Found" + }, + "409": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::EntityAlreadyExistsError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Conflict" + }, + "422": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "extralit.api.errors::ValidationError", + "params": { + "extra": "error parameters" + } + } + } + } + }, + "description": "Unprocessable Content" + }, + "500": { + "content": { + "application/json": { + "example": { + "detail": { + "code": "builtins.TypeError" + } + } + } + }, + "description": "Internal Server Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + }, + { + "HTTPBearer": [] + } + ], + "summary": "Delete Workspace User", + "tags": [ + "workspaces" + ] + } + } + } +}