Skip to content

client.tenant.config

View as Markdown

client.tenant.config — the tenant.config operations.

On AsyncKindgi every method is the same, awaited.

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,
) -> TenantConfigCollectionPage
Signature

List 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.

upsert(
body: UpsertTenantConfigBody | Mapping[str, Any] | None = None,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
**fields: Any,
) -> UpsertTenantConfigResult
Signature

Upsert 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.