Skip to main content
Renamed in v1. What used to be called a “provider binding” (GatewayProviderCredential) is gone. Gateway-only settings now live directly on the ModelProvider record itself, on the Advanced (Gateway) tab of the ModelProvider editor.There is no separate gateway-binding entity to create, list, edit, or disable. One ModelProvider = one gateway-eligible credential. Virtual keys reference ModelProviders directly.

Why the change

The old binding model had two rows per logical credential: a ModelProvider (where the API key lived) and a GatewayProviderCredential (where gateway-only metadata like RPM, RPD, slot, fallback priority lived). The split forced operators to navigate two pages, remember which fields belonged where, and pay the cognitive cost of “slot” labels that only mattered for VK fallback-chain composition. Folding the gateway-specific fields onto the ModelProvider itself collapses the surface to a single editable record. The rest of the system (VKs, routing policies, traces) refers to ModelProviders by id; nothing references a separate binding row.

What replaced the binding

Old (v0)New (v1)
GatewayProviderCredential row(deleted, fields folded onto ModelProvider)
Bound to a projectLives at any of ORGANIZATION, TEAM, PROJECT scope (see Scope)
slot (free-form label)Removed. VKs now reference ModelProviders by id directly; the routing policy carries the ordered list
rate_limit.rpm, .tpm, .rpdSame fields, now on ModelProvider → Advanced (Gateway) tab
fallback_priority_globalSame field, on the Advanced tab. Default-policy ordering uses this then createdAt
provider_credential_id (VK reference)VKs reference model_provider_id directly
For the new wire shape of the bundle a VK resolves to, see the /config/:vk_id contract and the vk-config-bundle.feature spec.

Configuring gateway settings on a ModelProvider

  1. Open Settings → Model Providers.
  2. Pick (or create) the provider you want gateway traffic to use.
  3. Switch to the Advanced (Gateway) tab inside the editor drawer.
  4. Fill in the gateway-only fields (RPM / TPM / RPD / fallback priority / providerConfig JSON overrides). The provider credential itself (API key, region, endpoint) stays on the Basic tab and is reused by both the gateway and the rest of LangWatch.
  5. Save. The new settings reach the gateway within ~30 s via the /changes long-poll.

Scope

ModelProviders live at one of three scopes:
ScopeVisible to VKs scoped at…
ORGANIZATIONevery team and project in the org
TEAMprojects in that team, and the team itself
PROJECTthat project only
A VK’s eligible-provider set is the union of every ModelProvider whose scope is at or above one of the VK’s scopes (see vk-scope-inheritance.feature for the full cascade).

Fields on the Advanced (Gateway) tab

Rate limit: RPM

Requests per minute the gateway dispatches through this ModelProvider before returning 429 rate_limit_exceeded. Independent of any VK-level rate limit; combines via token-bucket cross-dimension accounting.

Rate limit: TPM

Tokens per minute. Stored in v1, enforcement waits on the streaming-usage accumulator (v1.1).

Rate limit: RPD

Requests per day rolling window.

Fallback priority (global)

Lower number = higher priority. Used as the tie-breaker when a routing policy lists multiple ModelProviders and several are simultaneously eligible. Default-policy ordering falls back to createdAt when fallback priority is unset.

Provider config (JSON overrides)

Free-form JSON merged onto the ModelProvider’s basic config at gateway-dispatch time. Use for per-credential overrides (e.g. a different Azure deployment name on a sibling row of the same credential family).

Read-only diagnostic block

The Advanced tab also surfaces health status, circuit-breaker state, and the last disabledAt timestamp. These are populated by the gateway; the operator can’t write them directly.

Multiple deployments of the same provider

Create a second ModelProvider row of the same family (e.g. two OpenAI rows for us + eu regions). VKs and routing policies reference each by id. The old slot mechanism is gone; sibling rows with distinct names replace it.

See also

  • Virtual keys — multi-scope semantics and how a VK’s eligible-provider set is computed.
  • Concepts — mental model for the gateway primitives.
  • RBACmodelProviders:manage gates the Advanced tab; the old gatewayProviders:* resource is retired.
  • Rate limits — RPM/RPD/TPM dimension model.