Skip to content

feat:Add POST /solutions/claroty/suggest-vendor-model endpoint#252

Closed
HavenDV wants to merge 1 commit intomainfrom
bot/update-openapi_202603091903
Closed

feat:Add POST /solutions/claroty/suggest-vendor-model endpoint#252
HavenDV wants to merge 1 commit intomainfrom
bot/update-openapi_202603091903

Conversation

@HavenDV
Copy link
Contributor

@HavenDV HavenDV commented Mar 9, 2026

Summary by CodeRabbit

  • New Features
    • Added a new API endpoint for vendor model suggestions in the Claroty solutions workflow, enabling users to retrieve vendor model recommendations through the API.

@github-actions github-actions bot enabled auto-merge March 9, 2026 19:03
@coderabbitai
Copy link

coderabbitai bot commented Mar 9, 2026

Walkthrough

A new API endpoint POST /solutions/claroty/suggest-vendor-model has been added to the OpenAPI specification. The endpoint features a single 200 success response with an empty JSON schema. No existing endpoints were modified.

Changes

Cohort / File(s) Summary
OpenAPI Specification Update
src/libs/AI21/openapi.yaml
Added new endpoint POST /solutions/claroty/suggest-vendor-model with operationId claroty_suggest_vendor_model_solutions_claroty_suggest_vendor_model_post, returning a 200 response with empty JSON schema.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A vendor-model endpoint hops into the fold,
New paths for Claroty solutions, brave and bold,
With POST requests answered and responses so clean,
The API grows richer with each spec unseen. ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat:Add POST /solutions/claroty/suggest-vendor-model endpoint' directly and clearly describes the main change: adding a new API endpoint as shown in the changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bot/update-openapi_202603091903

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

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai bot changed the title feat:@coderabbitai feat:Add POST /solutions/claroty/suggest-vendor-model endpoint Mar 9, 2026
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.

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

3014-3019: Model the 200 response instead of leaving it untyped.

schema: { } erases the contract here; the generated client in src/libs/AI21/Generated/AI21.Ai21Api.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPost.g.cs:1-100 already falls back to Task<string>. If this endpoint returns JSON, please point the response at a concrete schema; if it returns plain text, declare type: string explicitly. As per coding guidelines, "Maintain the OpenAPI specification at src/libs/AI21/openapi.yaml as the source of truth for the SDK API".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/libs/AI21/openapi.yaml` around lines 3014 - 3019, The 200 response in the
OpenAPI operation is currently an empty schema which yields an untyped client
(the generated method in
AI21.Ai21Api.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPost.g.cs
falls back to Task<string>); update the OpenAPI response for that operation in
openapi.yaml to a concrete schema: if the endpoint returns JSON, replace schema:
{} with a proper schema reference (e.g., content: application/json: schema:
$ref: '#/components/schemas/YourResponseModel') and add the corresponding
component schema definition, or if it returns plain text declare content:
text/plain: schema: type: string; ensure the operation’s response media type and
schema match the actual API response so the generated client uses the correct
return type.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@src/libs/AI21/openapi.yaml`:
- Around line 3014-3019: The 200 response in the OpenAPI operation is currently
an empty schema which yields an untyped client (the generated method in
AI21.Ai21Api.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPost.g.cs
falls back to Task<string>); update the OpenAPI response for that operation in
openapi.yaml to a concrete schema: if the endpoint returns JSON, replace schema:
{} with a proper schema reference (e.g., content: application/json: schema:
$ref: '#/components/schemas/YourResponseModel') and add the corresponding
component schema definition, or if it returns plain text declare content:
text/plain: schema: type: string; ensure the operation’s response media type and
schema match the actual API response so the generated client uses the correct
return type.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9b4901b0-6b20-47ef-ad63-e7ec3a314e21

📥 Commits

Reviewing files that changed from the base of the PR and between bd8c9a6 and 57008ff.

⛔ Files ignored due to path filters (115)
  • src/libs/AI21/Generated/AI21.Ai21Api.ClarotyProductLookupSolutionsClarotyProductLookupPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Ai21Api.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.IAi21Api.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.Assistant.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.AssistantBasicInfo.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.AssistantRoute.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.AssistantsByMcpResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.BodyConvertDocumentFileStudioV1ChatFilesConvertPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.BodyParsePdfStudioV1DemosDocumentModifierParsePdfPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.BodyProcessRfiDocumentStudioV1DemosRfiProcessRfiPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.BodyUploadCheckComplianceStudioV1DemosRegulationsUploadCheckCompliancePost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.BodyV1LibraryUpload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatCompletion.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatCompletionResponseChoice.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatCompletionResponseDeltaChoice.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatCompletionVllmStreamingMessage.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatStreamingContentDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatStreamingFirstDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatStreamingToolCallsDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatStreamingToolCallsFirstDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPostResponse.Json.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPostResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CompareTextRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ConnectorConnectionStatus.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ConnectorsDataSources.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ConnectorsStatus.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ConnectorsSyncParams.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ConnectorsToken.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateAssistantRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateMCPStorageRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateMaestroRunsPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateOrganizationSchemaRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreatePlanPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateRoutePayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateSecretPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DataSourceMetadata.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DeleteAssistantResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DeleteMCPStorageResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.Demo.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DemoCreate.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DetectSchemaRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DetectSchemaResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DocumentReference.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DocumentSchema.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DownloadModifiedDocumentRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.FileResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.FunctionToolDefinition.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.GenerateAssistantRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.GenerateAssistantResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.HTTPToolEndpoint.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.HTTPToolFunction.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.HTTPToolFunctionParamProperties.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.HTTPToolFunctionParameters.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.HTTPToolResource.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.IgnestionBatchStatusCount.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.IngestionBatchStatusResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.JambaExecuteRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.LanguageStudioApiServerDataTypesChatToolDefinition.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.LanguageStudioApiServerDataTypesExecutionEngineRequirement.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.LibrarySearchRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ListAssistantsResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ListMCPsStorageResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ListPlansResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ListRoutesResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.Logprobs.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.LogprobsData.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MCPDefinition.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MCPDiscoveryResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MCPStorageResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MCPTool.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MaestroRunError.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MaestroRunResult.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MarkdownRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.Message.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ModelInfo.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ModelPricing.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ModelsInfoResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.OrgSchema.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.OrgSchemas.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.Plan.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.RFIResponseSection.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.RequirementItem.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.RequirementsGenerationRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.RequirementsGenerationResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ResponseFormat.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.RunAssistantRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.SecretResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.StarterQuestion.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.SystemMessage.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ThreadNameGenerationRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ThreadNameGenerationResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolCall.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolCallDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolCallDeltaStart.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolFunction.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolFunctionDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolFunctionDeltaStart.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolMessage.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolParameters.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.TopLogprobsData.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.UpdateMCPStorageRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.UpdateRoutePayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.UsageInfo.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.UserMessage.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ValidationError.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ValidationResult.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WebsiteConnectorCreateConfigPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WebsiteConnectorIngestUrlPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WebsiteConnectorIngestWebsitePayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WebsiteConnectorPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WebsiteConnectorRetryIngestWebsitePayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WorkflowConfig.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WorkspaceModelResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WorkspaceModelsResponse.g.cs is excluded by !**/generated/**
📒 Files selected for processing (1)
  • src/libs/AI21/openapi.yaml

@HavenDV HavenDV closed this Mar 10, 2026
auto-merge was automatically disabled March 10, 2026 22:15

Pull request was closed

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.

1 participant