Skip to content

client.orgs

View as Markdown

client.orgs — the orgs operations.

On AsyncKindgi every method is the same, awaited.

list(
*,
limit: int | None = None,
cursor: str | None = None,
name_contains: str | None = None,
timeout: float | None = None,
) -> OrgCollectionPage
Signature

List orgs in the caller's tenant. GET /v1/orgs

Cursor-paginated list of orgs. Optional ?nameContains= narrows by substring match on Org.name.

create(
body: OrgSpec | Mapping[str, Any] | None = None,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
**fields: Any,
) -> CreateResourceResult
Signature

Create an org. POST /v1/orgs

get(org_id: str | UUID, /, *, timeout: float | None = None) -> Org
Signature

Fetch an org by id. GET /v1/orgs/{orgId}

update(
org_id: str | UUID,
body: OrgPatch | Mapping[str, Any] | None = None,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
**fields: Any,
) -> None
Signature

Partially update an org. PATCH /v1/orgs/{orgId}

delete(
org_id: str | UUID,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
) -> None
Signature

Delete an org (idempotent). DELETE /v1/orgs/{orgId}

A tombstone, not an erase: from then on the org is gone from get and list, and its slug is free for a new org. Its projects and teams stay, without an org; when one of those projects has the slug of a project that has none, nothing is deleted: 409 slug-conflict names the slugs (rename or move those projects first). In the Kindgi runtime, the org's own secrets and secret mappings are deleted with it, for good, and its own environments and MCP endpoints are unregistered. A retention policy on the org domain purges the org's row. Idempotent: deleting an unknown or already-deleted org returns 204.