← All updates Databricks Update One-Pager Navy version
databricks Platform · Updated Sep 21, 2026

Back model provider service credentials with a Unity Catalog secret

Back a model provider service's API key with a customer owned Unity Catalog secret.

What it does

Back a model provider service's API key with a customer owned Unity Catalog secret. The service reads it at query time, so rotating the secret takes effect with no service change. Register an external model provider as a model provider service, grant access to it, configure Unity Gateway features, and delete it.

Why it matters

resources: model provider services: my provider: parent: schemas/main.default model provider service id: my provider comment: Routes to a custom OpenAI compatible provider config: provider type: EXTERNAL MODEL PROVIDER TYPE CUSTOM targets: model: gpt 4o native api types: [openai/v1/chat/completions] custom: direct: base url: https://api.example.com/v1 api key: plaintext: ${var.provider api key} Create and manage a model provider service with the Databricks SDK for Python: Python from databricks.sdk.service import catalog as c model provider service = w.ai gateway.create model provider service( parent="schemas/main.default", model provider service id="my provider", model provider service=c.ModelProviderService( comment="Routes to a custom OpenAI compatible provider", config=c.ModelProviderServiceConfig( provider type=( c.ModelProviderServiceConfigExternalModelProviderType .EXTERNAL MODEL PROVIDER TYPE CUSTOM ), targets=[ c.ModelProviderServiceConfigModelTargetConfig( model="gpt 4o", native api types=["openai/v1/chat/completions"], ) ], custom=c.ModelProviderServiceConfigCustomProviderConfig( direct=c.ModelProviderServiceConfigCustomProviderDirectConfig( base url="https://api.example.com/v1", api key=c.ModelProviderServiceConfigProviderSecret( plaintext="dummy api key" ), ) ), ), ), ) Create and manage a model provider service with the Databricks SDK for Go: Go modelProviderService, err := w.AiGateway.CreateModelProviderService(ctx, catalog.CreateModelProviderServiceRequest{ Parent: "schemas/main.default", ModelProviderServiceId: "my provider", ModelProviderService: catalog.ModelProviderService{ Comment: "Routes to a custom OpenAI compatible provider", Config: &catalog.ModelProviderServiceConfig{ ProviderType: catalog.ModelProviderServiceConfigExternalModelProviderTypeExternalModelProviderTypeCustom, Targets: []catalog.ModelProviderServiceConfigModelTargetConfig{{ Model: "gpt 4o", NativeApiTypes: []string{"openai/v1/chat/completions"}, }}, Custom: &catalog.ModelProviderServiceConfigCustomProviderConfig{ Direct: &catalog.ModelProviderServiceConfigCustomProviderDirectConfig{ BaseUrl: "https://api.example.com/v1", ApiKey: &catalog.ModelProviderServiceConfigProviderSecret{ Plaintext: "dummy api key", }, }, }, }, }, }) Create and manage a model provider service with the Databricks SDK for Java: Java ModelProviderServiceConfig config = new ModelProviderServiceConfig() .setProviderType( ModelProviderServiceConfigExternalModelProviderType .EXTERNAL MODEL PROVIDER TYPE CUSTOM) .setTargets( Collections.singletonList( new ModelProviderServiceConfigModelTargetConfig() .setModel("gpt 4o") .setNativeApiTypes( Collections.singletonList("openai/v1/chat/completions")))) .setCustom( new ModelProviderServiceConfigCustomProviderConfig() .setDirect( new ModelProviderServiceConfigCustomProviderDirectConfig() .setBaseUrl("https://api.example.com/v1") .setApiKey( new ModelProviderServiceConfigProviderSecret() .setPlaintext("dummy api key")))); ModelProviderService modelProviderService = w.aiGateway() .createModelProviderService( new CreateModelProviderServiceRequest() .setParent("schemas/main.default") .setModelProviderServiceId("my provider") .setModelProviderService( new ModelProviderService() .setComment("Routes to a custom OpenAI compatible provider") .setConfig(config))); Create and manage a model provider service with the Databricks AI Gateway SDK for JavaScript: TypeScript import { ModelProviderServiceConfig ExternalModelProviderType as ProviderType } from '@databricks/sdk aigateway/v1'; const created = await client.createModelProviderService({ parent: 'schemas/main.default', modelProviderServiceId: 'my provider', modelProviderService: { comment: 'Routes to a custom OpenAI compatible provider', config: { providerType: ProviderType.EXTERNAL MODEL PROVIDER TYPE CUSTOM, targets: [{ model: 'gpt 4o', nativeApiTypes: ['openai/v1/chat/completions'] }], provider: { $case: 'custom', custom: { providerMode: { $case: 'direct', direct: { baseUrl: 'https://api.example.com/v1', authMode: { $case: 'apiKey', apiKey: { value: { $case: 'plaintext', plaintext: 'dummy api key' }, }, }, }, }, }, }, }, }, }); For the full list of providers and their authentication methods, see Govern external model providers (model provider services).

Key capabilities
model: gpt-4o nativeapitypes: [openai/v1/chat/completions]
model: gpt-4o nativeapitypes: [openai/v1/chat/completions]
Architecture
Databricks Platform → Platform
In short

Back a model provider service's API key with a customer owned Unity Catalog secret. The service reads it at query time, so rotating the secret takes effect with no service change.

Read the full documentation ↗
Key takeaway
Back a model provider service's API key with a customer owned Unity Catalog secret.
2026-09-21-back-model-provider-service-credentials-with-a-unity-catalog-secret Generated by the Databricks Updates Agent · browse all updates