Skip to content

Conversation

@HavenDV
Copy link
Contributor

@HavenDV HavenDV commented Mar 27, 2025

Summary by CodeRabbit

  • New Features
    • Introduced endpoints for listing table extractors and obtaining OAuth2 access tokens.
  • Enhancements
    • Improved endpoint structures with logical grouping and enhanced pagination support for smoother list operations.
  • Documentation
    • Updated descriptions and parameter details for a clearer, more informative API experience.

@coderabbitai
Copy link

coderabbitai bot commented Mar 27, 2025

Walkthrough

This pull request updates the OpenAPI specification for the Vectara REST API. It introduces new endpoints for table extractors and OAuth token generation, adds SDK-specific annotations, and implements pagination parameters for listing operations. In addition, it updates multiple method signatures by including required parameters and enhances schema descriptions for better clarity throughout the documentation.

Changes

File Path Change Summaries
src/.../openapi.yaml - New Endpoints: Added POST /v2/table_extractors and POST /oauth/token endpoints with full parameter/response definitions.
- Method Signature Updates: Updated methods for corpora (create, list, get, update, delete, summarize) and app-client operations to include parameters (corpus_key or app_client_id).
- API Enhancements: Added x-fern-sdk-group-name, x-fern-sdk-method-name, and new pagination parameters; updated schema descriptions.

Sequence Diagram(s)

sequenceDiagram
    participant C as Client
    participant A as API Server
    participant O as OAuth Provider

    C->>A: POST /oauth/token (credentials)
    A->>O: Validate credentials
    O-->>A: Access token
    A-->>C: Return OAuth2 access token
Loading
sequenceDiagram
    participant C as Client
    participant A as API Server

    C->>A: POST /v2/table_extractors (request details)
    A-->>C: Return list of table extractors
Loading

Possibly related PRs

Poem

I’m a rabbit in the code field, hopping with delight,
New endpoints and parameters shining bright.
With tokens and tables now leading the way,
Our API blooms in a sophisticated display.
Hoppity hops, let the code play – what a day!
🐇💻


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@HavenDV HavenDV merged commit 04b5f05 into main Mar 27, 2025
2 of 4 checks passed
@HavenDV HavenDV deleted the bot/update-openapi_202503271830 branch March 27, 2025 18:31
@coderabbitai coderabbitai bot changed the title feat:@coderabbitai feat:Update Vectara REST API OpenAPI spec with new endpoints and pagination Mar 27, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
src/libs/Vectara/openapi.yaml (1)

58-59: Corpora Endpoints SDK and Pagination Enhancements
Across the endpoints in the /v2/corpora group (create, list, get, delete, update, reset, replace filter attributes, compute size, and advanced query streaming), you have added consistent vendor-specific extensions (e.g.
  x-fern-sdk-group-name: corpora
  x-fern-sdk-method-name: <action>) as well as pagination settings (via x-fern-pagination on list endpoints). This uniformity will help with SDK generation and client-side pagination. Please verify that the response metadata (e.g. the page key fields) match exactly the names used in the pagination configuration.

Also applies to: 101-106, 142-143, 175-176, 215-216, 248-249, 291-292, 327-328, 451-460

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5bd1589 and d5862c8.

⛔ Files ignored due to path filters (103)
  • src/libs/Vectara/Generated/JsonConverters.CreateEncoderRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/JsonSerializerContextTypes.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.APIKeysClient.GetApiKey.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.APIKeysClient.ListApiKeys.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.APIKeysClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.ApplicationClientsClient.DeleteAppClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.ApplicationClientsClient.GetAppClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.ApplicationClientsClient.ListAppClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.ApplicationClientsClient.UpdateAppClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.ApplicationClientsClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.AuthenticationClient.GetOAuthToken.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.AuthenticationClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.GenerationPresetsClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IAPIKeysClient.GetApiKey.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IAPIKeysClient.ListApiKeys.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IAPIKeysClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IApplicationClientsClient.DeleteAppClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IApplicationClientsClient.GetAppClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IApplicationClientsClient.ListAppClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IApplicationClientsClient.UpdateAppClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IApplicationClientsClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IAuthenticationClient.GetOAuthToken.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IAuthenticationClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IGenerationPresetsClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IQueryHistoryClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.ITableExtractorsClient.ListTableExtractors.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.ITableExtractorsClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IUploadClient.UploadFile.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.IVectaraClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ApiKey.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.AppClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.BadRequestError.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.Cell.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ChainReranker.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.Chat.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ChatRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ChunkingStrategy.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.Corpus.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.CreateApiKeyRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.CreateAppClientRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.CreateCorpusRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.CreateEncoderRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.CreateEncoderRequestDiscriminatorType.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.CreateLLMRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.CreateOpenAIEncoderRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.CreateOpenAILLMRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.CreateUserRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.Document.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.Encoder.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.Error.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.FilterAttribute.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenRequest.Json.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenRequestGrantType.Json.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenRequestGrantType.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenResponse.Json.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.Job.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.JobState.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.KeyedSearchCorpus.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListApiKeysResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListAppClientsResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListChatTurnsResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListChatsResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListCorporaResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListDocumentsResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListEncodersResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListGenerationPresetsResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListJobsResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListLLMsResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListRerankersResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListTableExtractorsResponse.Json.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListTableExtractorsResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ListUsersResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.MMRReranker.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.NoneReranker.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.NotFoundError.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.QueryCorpusRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.QueryHistory.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.QueryHistorySummary.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ReplaceFilterAttributesRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.ReplaceFilterAttributesResponse.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.SearchCorpus.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.SearchReranker.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.StructuredDocument.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.TableExtractionConfig.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.TableExtractor.Json.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.TableExtractor.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.TableExtractorSpec.Json.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.TableExtractorSpec.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.Turn.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.UpdateApiKeyRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.UpdateAppClientRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.UpdateTurnRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.UpdateUserRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.UploadFileRequest.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.User.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.Models.UserFunctionReranker.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.QueryHistoryClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.TableExtractorsClient.ListTableExtractors.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.TableExtractorsClient.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.UploadClient.UploadFile.g.cs is excluded by !**/generated/**
  • src/libs/Vectara/Generated/Vectara.VectaraClient.g.cs is excluded by !**/generated/**
📒 Files selected for processing (1)
  • src/libs/Vectara/openapi.yaml (110 hunks)
🧰 Additional context used
🪛 YAMLlint (1.35.1)
src/libs/Vectara/openapi.yaml

[error] 5239-5239: no new line character at the end of file

(new-line-at-end-of-file)

🔇 Additional comments (15)
src/libs/Vectara/openapi.yaml (15)

619-624: Upload File Endpoint Enhancements
In the /v2/corpora/{corpus_key}/upload_file endpoint, you have added an x-fern-examples block (with a Python code sample) together with vendor extensions (x-fern-sdk-group-name: upload and x-fern-sdk-method-name: file). The clear code sample should help clients integrate file uploads. Please double-check that the multipart encoding (and associated encoding definitions) remains valid.


677-680: Document Endpoints: Vendor Extensions and Streaming Support
For document management (create, list, delete, get, update, metadata replacement, and summarize), the specification now includes uniform vendor extensions (e.g. using x-fern-sdk-group-name: documents) along with pagination for list operations and streaming configuration for summarization (using x-stream-based-on-body: streamResponse()). These changes should help standardize SDK integration for document operations. Verify that the added examples (in the create document endpoint) match the underlying schema definitions.

Also applies to: 753-758, 796-797, 838-839, 891-892, 939-946, 996-998


1051-1077: Chat Endpoints Consistency and Streaming Support
The chat-related endpoints now consistently include vendor extensions and—where appropriate—streaming configurations using SSE. For example, the create chat and chat turn endpoints feature detailed examples and streaming blocks. This uniform treatment will ease integration in our SDK. Please ensure that all streaming schema references (e.g. for ChatStreamedResponse) are accurate.

Also applies to: 1143-1148, 1385-1386, 1418-1419, 1471-1479, 1515-1516, 1561-1562, 1601-1602, 1650-1651


1183-1184: LLM Endpoints Enhancements
The endpoints managing Large Language Models (creation, listing, retrieval, deletion) now include the vendor extensions. This consistency is important for client SDK mapping. Confirm that the model names and descriptions align with the expected values from our provider.

Also applies to: 1227-1232, 1267-1268, 1299-1300


1343-1348: Generation Presets Listing Enhancements
The /v2/generation_presets endpoint now features the vendor-specific extensions and proper pagination configuration. This addition will help clients easily list and filter presets.


1685-1686: Encoders Endpoints Consistency
Both the create and list encoders endpoints now include unified vendor extensions. The list encoders endpoint also adds pagination parameters. These changes look consistent with our overall design.

Also applies to: 1730-1735


1780-1785: Rerankers Endpoint Enhancements
The /v2/rerankers GET endpoint now carries vendor extensions and pagination details. Ensure that the reranker objects returned conform to the defined schema.


1785-1809: Table Extractors Listing Endpoint
A new endpoint for listing supported table extractors has been added with its own vendor extensions. This new functionality is clearly documented; please verify that it integrates as expected with the document processing pipeline.


1866-1871: Jobs Endpoint Enhancements
Jobs (background processes) are now returned with vendor extensions and pagination support. This will support better monitoring in our client tools.


1953-1954: User Management Endpoints Enhancements
The endpoints for creating, listing, retrieving, updating, deleting, and resetting passwords for users have been updated to include vendor-specific extensions. This standardizes how user operations are represented in the SDK.

Also applies to: 1996-2001, 2037-2038, 2077-2078, 2109-2110, 2154-2155


2190-2191: API Keys Management Enhancements
API key-related endpoints (create, list, get, update, delete) now include our vendor extensions and pagination (where applicable). This consistency is critical for security management interfaces.

Also applies to: 2244-2249, 2279-2280, 2313-2314, 2340-2341


2376-2377: Application Clients Endpoints Enhancements
For OAuth2 application clients, the endpoints now uniformly incorporate vendor extensions and pagination. This will help future-proof client SDKs and administrative tools.

Also applies to: 2425-2430, 2460-2461, 2495-2496, 2520-2521


2558-2559: Query History Endpoints Enhancements
Query history retrieval endpoints now include vendor extensions and pagination settings. This enriched metadata will streamline auditing and client-side analysis of query logs.

Also applies to: 2624-2629


2630-2678: OAuth2 Token Request Endpoint
A new endpoint for requesting an OAuth2 access token is added with a complete specification for the request body (including required fields like client_id, client_secret, and a literal mapping for grant_type) and response schema. The vendor extensions here (grouped under auth) look appropriate. Please confirm that the token response schema meets client expectations.


5239-5239: Missing Newline at End of File
YAMLlint flagged that there is no new line character at the end of the file. To best comply with standards and avoid potential issues on some platforms, please add a newline at the end.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 5239-5239: no new line character at the end of file

(new-line-at-end-of-file)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants