workspace_id, and API keys are stored under workspace-specific secret ids. A desktop app, CLI, mobile app, or custom client should not talk directly to every model provider just to build a model picker.
Use these methods when a client needs to show available providers for a workspace, fetch model catalogs, or update the API key used by that workspace.
Methods
| Method | Params | Result | Purpose |
|---|---|---|---|
provider/list | ProviderListParams | ProviderListResponse | Return configured provider adapters for a workspace. |
provider/models/list | ProviderListModelsParams | ProviderListModelsResponse | Return models known for one provider in a workspace. |
provider/set_api_key | ProviderSetApiKeyParams | ProviderSetApiKeyResponse | Store or replace a workspace provider API key. |
provider/delete_api_key | ProviderDeleteApiKeyParams | ProviderDeleteApiKeyResponse | Remove a workspace provider API key. |
Listing Providers
provider/list requires the workspace id because provider configuration belongs to a workspace on the gateway.
name is the stable provider identifier used in model_provider, provider/models/list, and API-key methods.
Listing Models
Useprovider/models/list after the user selects a provider. The gateway returns normalized metadata that a client can use for filtering, badges, warnings, or default selection.
null for limits, pricing, lifecycle state, and individual capabilities.
Model Metadata
ProviderModelInfo is the normalized model object.
| Field | Meaning |
|---|---|
id | Provider model id. This is the value to put into model. |
name | Optional display name. |
description | Optional model description. |
created | Optional provider-created timestamp. |
provider | Provider id that owns the model entry. |
owned_by | Optional provider owner string. |
limits | Optional input/output/context-window limits. |
capabilities | Optional capability flags and modality lists. |
pricing | Optional token/image/request pricing metadata. |
active | Whether the model should be treated as active. |
family | Optional family/group label. |
lifecycle_status | Optional provider-specific lifecycle marker. |
id, display by name when present, and never require a metadata field that may be null.
Setting An API Key
API keys are stored in the gateway keystore under the workspace id and provider name. If the desktop app connects to a remote gateway, the key is stored on that remote gateway, not in the desktop process.provider/models/list for that provider because a newly valid credential can change what the gateway can discover.
Deleting An API Key
Client Behavior
Provider setup is workspace-local inside a gateway. A client connected to three gateways should show provider status for the selected workspace on the selected gateway, because each workspace may have different keys and each gateway may have different local runtime availability and network access. For thread creation and turn execution, pass the selected provider id throughmodel_provider and the selected model id through model. See Threads API and Turns API.