client.tenant.config
client.tenant.config — the tenant.config operations.
On AsyncKindgi every method is the same, awaited.
client.tenant.config.list()
Section titled “client.tenant.config.list()”list( *, limit: int | None = None, cursor: str | None = None, kind: Literal['env', 'config', 'secret'] | None = None, key_prefix: str | None = None, timeout: float | None = None,) -> TenantConfigCollectionPageList the tenant's config entries. GET /v1/tenant/config
Cursor-paginated: the env entries (in the env binding order), then the config entries when they live apart from them, then the secret entries (in the secrets binding order); a page holds at most limit entries and nextCursor resumes where it ended. Optional ?kind= narrows to one slot (env / config / secret); ?keyPrefix= matches on entry key. env and secret entries are the ones under the env the runtime serves (servedEnv in whoami), where its tools read them; config entries, the tenant settings, are under default whatever it serves. On a runtime that serves none, all of them are under default. Secret values are ALWAYS redacted on this admin surface — the dispatch path is the only reader that receives raw material.
client.tenant.config.upsert()
Section titled “client.tenant.config.upsert()”upsert( body: UpsertTenantConfigBody | Mapping[str, Any] | None = None, /, *, idempotency_key: str | None = None, timeout: float | None = None, **fields: Any,) -> UpsertTenantConfigResultUpsert a tenant-config entry. PATCH /v1/tenant/config
Set / update an entry keyed by (kind, key). An env or secret entry (or one sent with sensitive: true) is stored under the env the runtime serves (servedEnv in whoami), where its tools read it; a config entry, a tenant setting, under default whatever it serves. On a runtime that serves none, both are under default. Optional ifRevision provides optimistic-concurrency: the write fails with tenant-config-revision-conflict (409) unless the stored revision matches. Omit for last-write-wins.