feat(llm-provider): add LLM provider endpoints and schemas - #1189
Merged
Merged
Conversation
Contract for the reusable LLM provider settings added in q-core: CRUD under
/organization/{organizationId}/llmProvider and /llmProvider/{llmProviderId},
CLAUDE and BEDROCK types, opaque settings, and ORGANIZATION or USER scope.
The credential is writeOnly and absent from the response, which reports
has_credential instead. Blank means unchanged on edit.
Co-authored-by: omnigent <noreply@omnigent.ai>
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Add owner_user_sub and owner_name to the required list while keeping them nullable.
Pull request overview
Adds the public OpenAPI contract for reusable LLM provider settings and CRUD operations.
Changes:
- Added organization- and provider-scoped CRUD endpoints.
- Added provider types, scopes, schemas, and
llmProviderId. - Documented write-only credentials and
has_credentialresponse semantics.
File summaries
| File | Summary |
|---|---|
openapi.yaml |
Defines LLM provider endpoints, parameters, tags, and schemas. |
Review details
Suppressed comments (1)
openapi.yaml:21260
owner_user_subandowner_nameare documented as present andnullfor ORGANIZATION providers, but neither field is inrequired. A schema-valid response can therefore omit the owner metadata entirely, so generated clients cannot rely on the contract described below; add both fields to this required list while keeping them nullable.
required:
- name
- description
- type
- settings
- has_credential
- scope
- updated_at
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
RemiBonnet
approved these changes
Sep 15, 2026
Provider settings stay on the agentic workflow, so they leave this contract: the property goes from both schemas, the required entry goes from the response, and the path and type descriptions no longer describe the resource as provider settings. Credentials are unchanged: still writeOnly, still absent from the response, which keeps reporting has_credential. Co-authored-by: omnigent <noreply@omnigent.ai>
12 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
/organization/{organizationId}/llmProviderand/llmProvider/{llmProviderId}, plusLlmProviderType(CLAUDE, BEDROCK),LlmProviderScope, request/response/list schemas and thellmProviderIdparameter.credentialiswriteOnlyand absent from the response, which reportshas_credentialinstead; blank means unchanged on edit.settingson this contract: provider settings stay on the agentic workflow, so the provider carries only identity, credential and scope.Why: public contract for the reusable LLM providers added in q-core.
Verified: YAML parses, every
$refresolves, redocly lint diffed against the unmodified baseline — 0 new errors, 1 newtag-descriptionwarning consistent with all 123 existing tags. Project spectral ruleset URL 404s on baseline too, so it could not run.Backend: https://gitlab.com/qovery/backend/q-core/-/merge_requests/3940