client.providers
client.providers — the providers operations.
On AsyncKindgi every method is the same, awaited.
client.providers.list()
Section titled “client.providers.list()”list( *, limit: int | None = None, cursor: str | None = None, feature: str | None = None, timeout: float | None = None,) -> ProviderCollectionPageList model providers. GET /v1/providers
Cursor-paginated. Optional ?feature= filters to providers whose metadata.features includes the given feature (exact match).
client.providers.register()
Section titled “client.providers.register()”register( *, idempotency_key: str | None = None, timeout: float | None = None, **fields: Any,) -> RegisterProviderResultRegister a model provider. POST /v1/providers
Body is a full ProviderMetadata. Server validates shape: provider-level id + region non-empty; models[] non-empty with unique name per entry; per-model contextWindow positive integer; per-model features against the closed enum; per-model cost non-negative; optional per-model p95LatencyMs / maxOutputTokens well-shaped — same rules as @kindgi/capabilities.createProviderRegistry. Secrets (API keys, endpoints) are NOT part of the wire shape; deployments store them inside the binding.
client.providers.get()
Section titled “client.providers.get()”get(*, timeout: float | None = None) -> ProviderMetadataFetch a provider. GET /v1/providers/{providerId}
Returns the wire-safe ProviderMetadata (routing metadata only — secrets never cross the wire).
client.providers.capabilities()
Section titled “client.providers.capabilities()”capabilities(*, timeout: float | None = None) -> ProviderCapabilitiesResultList capabilities a provider satisfies. GET /v1/providers/{providerId}/capabilities
Sub-resource: returns the catalog capability descriptors the provider fulfils. Empty array = known provider with no matches; 404 = unknown provider.
client.providers.unregister()
Section titled “client.providers.unregister()”unregister( *, idempotency_key: str | None = None, timeout: float | None = None,) -> UnregisterProviderResultUnregister a model provider. POST /v1/providers/{providerId}/unregister