Skip to main content

Shared providers & model tests

A shared provider is a reusable tenant-owned connection. Apps hold references to its label, so credential/model changes can affect every linked app after synchronization. Provider label and type are immutable.

Provider inputs

Every creation body has label, provider_name and provider_settings. Optional selected_models, model_costs and enabled configure availability. Select the provider variant in the full body schema for the complete credential fields and conditional requirements.

FamilyProvider typesCredential choices
API keyOpenAI, Anthropic/native Messages, DeepSeek, Gemini Chat Completions, Responses, Assistants, Realtime, Cohere/Jina/Voyage rerank, Sarvam.api_key; optional compatible base URL/version where supported.
Azureazureopenai, openai_responses_azure, openai_assistants_azure, openai_realtime_azure.api_key, azure_endpoint, API version.
Custom endpointgeneral, general_rerank, anthropic_messages_azure.api_key and base_url.
AWSbedrock, anthropic_messages_bedrock, bedrock_embeddings, bedrock_rerank.Static keys or assume-role; fields from different modes cannot be mixed.
Vertex AIvertex_ai.API key, express, service-account JSON or ADC.
Oracle OCIoracle, oracle_responses.API key, gateway user principal, user/session principal, instance/resource principal.
QuilrAI managedquilr_ai.Deployment-owned identity; no customer secret or endpoint.

SDK and Copilot Studio are app modes, not shared-provider types. Provider/protocol support remains deployment-dependent. See provider support.

Models and rates

selected_models is a full replacement list, with at most 1,000 names of up to 512 characters each. An empty list follows the existing unrestricted-provider convention where supported; it does not necessarily mean zero models are allowed. Use explicit model lists for finite allowlists.

model_costs is keyed by a selected model. Values are nullable, non-negative USD rates per million input/output/cache tokens. Null removes a rate override. These values are configuration, not a quotation of provider pricing.

Rotation and disabling

Omitted credentials remain unchanged on PATCH. Submit a new secret to rotate it. Do not send redacted placeholder values back. Changing authentication mode must supply required new-mode fields and removes incompatible old-mode credentials.

PATCH enabled:false to disable a shared provider. Its record and app attachments remain; re-enabling restores normal availability. There is no provider-delete endpoint. Detaching removes a reference from one app only.

Explicit connection/model tests

Saving configuration never contacts the upstream provider. Use a separate test request when you want to:

  • Check the stored connection without generation, when the provider supports that test.
  • Run a minimal configured-model check, which may incur usage.

Tests use stored credentials and endpoints; they accept no arbitrary payload, URL or credential overrides. Testing a disabled provider does not enable it. A private endpoint unreachable from the central service returns a diagnostic, not a failed configuration save.

Completed tests report passed, failed or unsupported. A connection test never silently becomes a model call. Model tests are unavailable in a deployment with COMPLETELY_NO_GPU; there are no automatic billable retries.

Endpoint reference

GET/providers

List shared providers

List shared provider metadata, configured models and credential-presence flags.

REQUIRESread
Path, query & header parameters 4
limit (query)integeroptional

Items per page.

min: 1max: 200default: 50
cursor (query)stringoptional

Opaque cursor returned by this same collection and filters.

enabled (query)booleanoptional
provider_name (query)stringoptional

No request body.

curl --request GET \
'https://management.example.com/llmgateway/management/v1/providers?limit=50' \
--header 'Authorization: Bearer <management-key>'

Authentication, errors & retry rules

POST/providers

Create a shared provider

Persist validated configuration without contacting upstream. The label/type are immutable and namespaced to the tenant.

REQUIRESproviders:write
Path, query & header parameters 1
Idempotency-Key (header)stringrequired

Unique operation key. Reuse only with the identical request; mismatch returns 409.

min length: 1max length: 128
Full request body specification application/json

Select the variant matching provider_name. Each provider_settings object is fully specified below.

ApiKey provider object
labelstringrequired

Exact, trimmed tenant-wide provider label. Immutable after creation.

min length: 1max length: 200
enabledbooleanoptional
default: true
selected_modelsarray<string>optional

[] preserves the existing unrestricted-provider convention where supported; use explicit model lists for a finite catalog.

max items: 1000unique items
Array item specification
string

Exact configured model identifier; availability depends on the provider and deployment.

min length: 1max length: 512
model_costsmap<string, object>optional

Keys must appear in selected_models; rates are USD per million tokens.

Map value specification
input_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

output_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

cache_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

Unknown fields are rejected in this object.

provider_namestringrequired
"openai""anthropic""anthropic_messages""deepseek""gemini_chatcompletions""openai_responses""openai_assistants""openai_realtime""cohere_rerank""jina_rerank""voyage_rerank""sarvam"
provider_settingsobjectrequired

API key

Object fields
api_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
base_urlstringoptional

Optional compatible upstream base URL.

format: uri
anthropic_versionstringoptional

Optional Anthropic API version header.

Unknown fields are rejected in this object.

Unknown fields are rejected in this object.

Azure provider object
labelstringrequired

Exact, trimmed tenant-wide provider label. Immutable after creation.

min length: 1max length: 200
enabledbooleanoptional
default: true
selected_modelsarray<string>optional

[] preserves the existing unrestricted-provider convention where supported; use explicit model lists for a finite catalog.

max items: 1000unique items
Array item specification
string

Exact configured model identifier; availability depends on the provider and deployment.

min length: 1max length: 512
model_costsmap<string, object>optional

Keys must appear in selected_models; rates are USD per million tokens.

Map value specification
input_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

output_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

cache_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

Unknown fields are rejected in this object.

provider_namestringrequired
"azureopenai""openai_responses_azure""openai_assistants_azure""openai_realtime_azure"
provider_settingsobjectrequired

Azure

Object fields
api_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
azure_endpointstringrequired
format: uri
api_versionstringoptional

Azure API version.

Unknown fields are rejected in this object.

Unknown fields are rejected in this object.

Custom provider object
labelstringrequired

Exact, trimmed tenant-wide provider label. Immutable after creation.

min length: 1max length: 200
enabledbooleanoptional
default: true
selected_modelsarray<string>optional

[] preserves the existing unrestricted-provider convention where supported; use explicit model lists for a finite catalog.

max items: 1000unique items
Array item specification
string

Exact configured model identifier; availability depends on the provider and deployment.

min length: 1max length: 512
model_costsmap<string, object>optional

Keys must appear in selected_models; rates are USD per million tokens.

Map value specification
input_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

output_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

cache_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

Unknown fields are rejected in this object.

provider_namestringrequired
"general""general_rerank""anthropic_messages_azure"
provider_settingsobjectrequired

Custom endpoint

Object fields
api_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
base_urlstringrequired
format: uri

Unknown fields are rejected in this object.

Unknown fields are rejected in this object.

Bedrock provider object
labelstringrequired

Exact, trimmed tenant-wide provider label. Immutable after creation.

min length: 1max length: 200
enabledbooleanoptional
default: true
selected_modelsarray<string>optional

[] preserves the existing unrestricted-provider convention where supported; use explicit model lists for a finite catalog.

max items: 1000unique items
Array item specification
string

Exact configured model identifier; availability depends on the provider and deployment.

min length: 1max length: 512
model_costsmap<string, object>optional

Keys must appear in selected_models; rates are USD per million tokens.

Map value specification
input_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

output_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

cache_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

Unknown fields are rejected in this object.

provider_namestringrequired
"bedrock""anthropic_messages_bedrock""bedrock_embeddings""bedrock_rerank"
provider_settingsone of 2 variantsrequired
AWS static object
aws_auth_mode"static"required
aws_regionstringrequired
min length: 1
aws_access_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
aws_secret_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
aws_session_tokenstringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only

Unknown fields are rejected in this object.

AWS assume_role object
aws_auth_mode"assume_role"required
aws_regionstringrequired
min length: 1
aws_role_arnstringrequired
min length: 1
aws_external_idstringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
aws_role_session_namestringoptional
min length: 2max length: 64
aws_session_duration_secondsintegeroptional
min: 900max: 43200

Unknown fields are rejected in this object.

Unknown fields are rejected in this object.

Vertex provider object
labelstringrequired

Exact, trimmed tenant-wide provider label. Immutable after creation.

min length: 1max length: 200
enabledbooleanoptional
default: true
selected_modelsarray<string>optional

[] preserves the existing unrestricted-provider convention where supported; use explicit model lists for a finite catalog.

max items: 1000unique items
Array item specification
string

Exact configured model identifier; availability depends on the provider and deployment.

min length: 1max length: 512
model_costsmap<string, object>optional

Keys must appear in selected_models; rates are USD per million tokens.

Map value specification
input_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

output_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

cache_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

Unknown fields are rejected in this object.

provider_namestringrequired
"vertex_ai"
provider_settingsone of 4 variantsrequired
Vertex api_key object
auth_type"api_key"required
gcp_regionstringoptional
api_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
gcp_project_idstringrequired
min length: 1

Unknown fields are rejected in this object.

Vertex express object
auth_type"express"required
gcp_regionstringoptional
api_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only

Unknown fields are rejected in this object.

Vertex service_account object
auth_type"service_account"required
gcp_regionstringoptional
service_account_jsonstringrequired

JSON-encoded Google service account document.

min length: 1write only
gcp_project_idstringoptional

Unknown fields are rejected in this object.

Vertex adc object
auth_type"adc"required
gcp_regionstringoptional
gcp_project_idstringrequired
min length: 1

Unknown fields are rejected in this object.

Unknown fields are rejected in this object.

OracleChat provider object
labelstringrequired

Exact, trimmed tenant-wide provider label. Immutable after creation.

min length: 1max length: 200
enabledbooleanoptional
default: true
selected_modelsarray<string>optional

[] preserves the existing unrestricted-provider convention where supported; use explicit model lists for a finite catalog.

max items: 1000unique items
Array item specification
string

Exact configured model identifier; availability depends on the provider and deployment.

min length: 1max length: 512
model_costsmap<string, object>optional

Keys must appear in selected_models; rates are USD per million tokens.

Map value specification
input_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

output_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

cache_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

Unknown fields are rejected in this object.

provider_namestringrequired
"oracle"
provider_settingsone of 6 variantsrequired

Only fields for the selected auth_type are accepted. Deployment principal modes require the corresponding runtime identity. No base_url override.

OCI api_key object
auth_type"api_key"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringrequired
min length: 1
api_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only

Unknown fields are rejected in this object.

OCI gateway_user_principal object
auth_type"gateway_user_principal"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringrequired
min length: 1

Unknown fields are rejected in this object.

OCI user_principal object
auth_type"user_principal"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringrequired
min length: 1
oci_tenancy_idstringrequired
min length: 1
oci_user_idstringrequired
min length: 1
oci_fingerprintstringrequired
min length: 1
oci_private_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
oci_private_key_passphrasestringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only

Unknown fields are rejected in this object.

OCI session_principal object
auth_type"session_principal"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringrequired
min length: 1
oci_session_tokenstringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
oci_private_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
oci_private_key_passphrasestringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only

Unknown fields are rejected in this object.

OCI instance_principal object
auth_type"instance_principal"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringrequired
min length: 1

Unknown fields are rejected in this object.

OCI resource_principal object
auth_type"resource_principal"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringrequired
min length: 1

Unknown fields are rejected in this object.

Unknown fields are rejected in this object.

OracleResponses provider object
labelstringrequired

Exact, trimmed tenant-wide provider label. Immutable after creation.

min length: 1max length: 200
enabledbooleanoptional
default: true
selected_modelsarray<string>optional

[] preserves the existing unrestricted-provider convention where supported; use explicit model lists for a finite catalog.

max items: 1000unique items
Array item specification
string

Exact configured model identifier; availability depends on the provider and deployment.

min length: 1max length: 512
model_costsmap<string, object>optional

Keys must appear in selected_models; rates are USD per million tokens.

Map value specification
input_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

output_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

cache_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

Unknown fields are rejected in this object.

provider_namestringrequired
"oracle_responses"
provider_settingsone of 6 variantsrequired

Only fields for the selected auth_type are accepted. Deployment principal modes require the corresponding runtime identity. No base_url override.

OCI api_key object
auth_type"api_key"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringoptional
min length: 1
api_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only

Unknown fields are rejected in this object.

OCI gateway_user_principal object
auth_type"gateway_user_principal"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringoptional
min length: 1

Unknown fields are rejected in this object.

OCI user_principal object
auth_type"user_principal"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringoptional
min length: 1
oci_tenancy_idstringrequired
min length: 1
oci_user_idstringrequired
min length: 1
oci_fingerprintstringrequired
min length: 1
oci_private_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
oci_private_key_passphrasestringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only

Unknown fields are rejected in this object.

OCI session_principal object
auth_type"session_principal"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringoptional
min length: 1
oci_session_tokenstringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
oci_private_keystringrequired

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
oci_private_key_passphrasestringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only

Unknown fields are rejected in this object.

OCI instance_principal object
auth_type"instance_principal"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringoptional
min length: 1

Unknown fields are rejected in this object.

OCI resource_principal object
auth_type"resource_principal"required
oci_regionstringrequired
min length: 1
oci_project_idstringrequired
min length: 1
oci_compartment_idstringoptional
min length: 1

Unknown fields are rejected in this object.

Unknown fields are rejected in this object.

Managed provider object
labelstringrequired

Exact, trimmed tenant-wide provider label. Immutable after creation.

min length: 1max length: 200
enabledbooleanoptional
default: true
selected_modelsarray<string>optional

[] preserves the existing unrestricted-provider convention where supported; use explicit model lists for a finite catalog.

max items: 1000unique items
Array item specification
string

Exact configured model identifier; availability depends on the provider and deployment.

min length: 1max length: 512
model_costsmap<string, object>optional

Keys must appear in selected_models; rates are USD per million tokens.

Map value specification
input_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

output_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

cache_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

Unknown fields are rejected in this object.

provider_namestringrequired
"quilr_ai"
provider_settingsobjectrequired

Deployment-managed provider. Do not send customer credentials or an endpoint.

Object fields

Unknown fields are rejected in this object.

Unknown fields are rejected in this object.

curl --request POST \
'https://management.example.com/llmgateway/management/v1/providers' \
--header 'Authorization: Bearer <management-key>' \
--header 'Idempotency-Key: operation-001' \
--header 'Content-Type: application/json' \
--data '{
"label": "ApiKey production",
"selected_models": [
"gpt-4.1-mini"
],
"provider_name": "openai",
"provider_settings": {
"api_key": "<provider-api-key>"
}
}'

Authentication, errors & retry rules

GET/providers/{label}

Read a shared provider

Read configured models, enabled state and credential-presence metadata. Raw upstream credentials are never returned.

REQUIRESread
Path, query & header parameters 1
label (path)stringrequired

Exact, trimmed tenant-wide provider label. Immutable after creation.

min length: 1max length: 200

No request body.

curl --request GET \
'https://management.example.com/llmgateway/management/v1/providers/Production%20OpenAI' \
--header 'Authorization: Bearer <management-key>'

Authentication, errors & retry rules

PATCH/providers/{label}

Update or disable a provider

Change credentials, models, rates or enabled state. Omitted secrets remain. Disable preserves attachments and may affect every linked app after propagation.

REQUIRESproviders:write
Path, query & header parameters 2
label (path)stringrequired

Exact, trimmed tenant-wide provider label. Immutable after creation.

min length: 1max length: 200
If-Match (header)stringrequired

Exact quoted ETag from a current resource read.

Full request body specification application/json

enabledbooleanoptional
selected_modelsarray<string>optional

[] preserves the existing unrestricted-provider convention where supported; use explicit model lists for a finite catalog.

max items: 1000unique items
Array item specification
string

Exact configured model identifier; availability depends on the provider and deployment.

min length: 1max length: 512
model_costsmap<string, object>optional

Keys must appear in selected_models; rates are USD per million tokens.

Map value specification
input_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

output_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

cache_per_1mnumber | nulloptional

USD per million tokens; null removes this override.

Variant 1 number
number

USD per million tokens; null removes this override.

min: 0

Also accepts null.

Unknown fields are rejected in this object.

provider_settingsobjectoptional

Partial update, then validate the complete merged state against the stored provider type. Only compatible fields are accepted. Switching auth modes removes old-mode credentials and requires all new-mode fields. Omitted secrets are preserved; null/empty/redacted echoes are rejected.

Object fields
api_keystringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
base_urlstringoptional
format: uri
anthropic_versionstringoptional

Optional Anthropic API version header.

azure_endpointstringoptional
format: uri
api_versionstringoptional

Azure API version.

aws_regionstringoptional
min length: 1
aws_access_keystringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
aws_secret_keystringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
aws_session_tokenstringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
aws_role_arnstringoptional
min length: 1
aws_external_idstringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
aws_role_session_namestringoptional
min length: 2max length: 64
aws_session_duration_secondsintegeroptional
min: 900max: 43200
gcp_regionstringoptional
gcp_project_idstringoptional
min length: 1
service_account_jsonstringoptional

JSON-encoded Google service account document.

min length: 1write only
oci_regionstringoptional
min length: 1
oci_project_idstringoptional
min length: 1
oci_compartment_idstringoptional
min length: 1
oci_tenancy_idstringoptional
min length: 1
oci_user_idstringoptional
min length: 1
oci_fingerprintstringoptional
min length: 1
oci_private_keystringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
oci_private_key_passphrasestringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
oci_session_tokenstringoptional

Write-only secret. Omission preserves an existing secret on PATCH. Never echo redacted placeholders.

min length: 1write only
auth_typestringoptional
"api_key""express""service_account""adc""gateway_user_principal""user_principal""session_principal""instance_principal""resource_principal"
aws_auth_modestringoptional
"static""assume_role"

Unknown fields are rejected in this object.

Unknown fields are rejected in this object.

curl --request PATCH \
'https://management.example.com/llmgateway/management/v1/providers/Production%20OpenAI' \
--header 'Authorization: Bearer <management-key>' \
--header 'If-Match: "resource-version"' \
--header 'Content-Type: application/json' \
--data '{
"enabled": false
}'

Authentication, errors & retry rules

POST/providers/{label}/test

Test connection or model

Explicit diagnostic using the stored endpoint/credentials. Connection checks never silently generate. Model checks may incur usage. No configuration mutation and no automatic billable retries.

REQUIRESproviders:write
Path, query & header parameters 1
label (path)stringrequired

Exact, trimmed tenant-wide provider label. Immutable after creation.

min length: 1max length: 200
Full request body specification application/json

Uses stored credentials and endpoints only. Model must be configured for this provider. No prompt, URL or credential overrides.

Variant 1 object
kind"connection"required

Unknown fields are rejected in this object.

Variant 2 object
kind"model"required
modelstringrequired

Exact configured model identifier; availability depends on the provider and deployment.

min length: 1max length: 512

Unknown fields are rejected in this object.

curl --request POST \
'https://management.example.com/llmgateway/management/v1/providers/Production%20OpenAI/test' \
--header 'Authorization: Bearer <management-key>' \
--header 'Content-Type: application/json' \
--data '{
"kind": "connection"
}'

Authentication, errors & retry rules