-
-
Notifications
You must be signed in to change notification settings - Fork 0
feat:Update Vectara REST API OpenAPI spec with new endpoints and pagination #48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThis 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
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
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
Possibly related PRs
Poem
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this 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/corporagroup (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 (viax-fern-paginationon 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
⛔ Files ignored due to path filters (103)
src/libs/Vectara/Generated/JsonConverters.CreateEncoderRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/JsonSerializerContextTypes.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.APIKeysClient.GetApiKey.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.APIKeysClient.ListApiKeys.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.APIKeysClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.ApplicationClientsClient.DeleteAppClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.ApplicationClientsClient.GetAppClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.ApplicationClientsClient.ListAppClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.ApplicationClientsClient.UpdateAppClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.ApplicationClientsClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.AuthenticationClient.GetOAuthToken.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.AuthenticationClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.GenerationPresetsClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IAPIKeysClient.GetApiKey.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IAPIKeysClient.ListApiKeys.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IAPIKeysClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IApplicationClientsClient.DeleteAppClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IApplicationClientsClient.GetAppClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IApplicationClientsClient.ListAppClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IApplicationClientsClient.UpdateAppClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IApplicationClientsClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IAuthenticationClient.GetOAuthToken.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IAuthenticationClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IGenerationPresetsClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IQueryHistoryClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.ITableExtractorsClient.ListTableExtractors.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.ITableExtractorsClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IUploadClient.UploadFile.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.IVectaraClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ApiKey.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.AppClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.BadRequestError.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.Cell.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ChainReranker.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.Chat.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ChatRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ChunkingStrategy.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.Corpus.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.CreateApiKeyRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.CreateAppClientRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.CreateCorpusRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.CreateEncoderRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.CreateEncoderRequestDiscriminatorType.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.CreateLLMRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.CreateOpenAIEncoderRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.CreateOpenAILLMRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.CreateUserRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.Document.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.Encoder.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.Error.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.FilterAttribute.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenRequest.Json.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenRequestGrantType.Json.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenRequestGrantType.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenResponse.Json.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.GetOAuthTokenResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.Job.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.JobState.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.KeyedSearchCorpus.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListApiKeysResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListAppClientsResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListChatTurnsResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListChatsResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListCorporaResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListDocumentsResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListEncodersResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListGenerationPresetsResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListJobsResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListLLMsResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListRerankersResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListTableExtractorsResponse.Json.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListTableExtractorsResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ListUsersResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.MMRReranker.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.NoneReranker.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.NotFoundError.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.QueryCorpusRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.QueryHistory.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.QueryHistorySummary.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ReplaceFilterAttributesRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.ReplaceFilterAttributesResponse.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.SearchCorpus.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.SearchReranker.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.StructuredDocument.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.TableExtractionConfig.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.TableExtractor.Json.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.TableExtractor.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.TableExtractorSpec.Json.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.TableExtractorSpec.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.Turn.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.UpdateApiKeyRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.UpdateAppClientRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.UpdateTurnRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.UpdateUserRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.UploadFileRequest.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.User.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.Models.UserFunctionReranker.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.QueryHistoryClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.TableExtractorsClient.ListTableExtractors.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.TableExtractorsClient.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.UploadClient.UploadFile.g.csis excluded by!**/generated/**src/libs/Vectara/Generated/Vectara.VectaraClient.g.csis 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_fileendpoint, you have added anx-fern-examplesblock (with a Python code sample) together with vendor extensions (x-fern-sdk-group-name: uploadandx-fern-sdk-method-name: file). The clear code sample should help clients integrate file uploads. Please double-check that the multipart encoding (and associatedencodingdefinitions) 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. usingx-fern-sdk-group-name: documents) along with pagination for list operations and streaming configuration for summarization (usingx-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. forChatStreamedResponse) 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_presetsendpoint 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/rerankersGET 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 likeclient_id,client_secret, and a literal mapping forgrant_type) and response schema. The vendor extensions here (grouped underauth) 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)
Summary by CodeRabbit