Skip to content

client.projects.sites

View as Markdown

client.projects.sites — the projects.sites operations.

On AsyncKindgi every method is the same, awaited.

list(
project_id: str | UUID,
/,
*,
limit: int | None = None,
cursor: str | None = None,
include_unregistered: bool | None = None,
timeout: float | None = None,
) -> SiteCollectionPage
Signature

List the project's sites. GET /v1/projects/{projectId}/sites

The sites that sign their own people in to this project. Tenant admins only: a site creates people in the tenant. includeUnregistered=true lists unregistered ones too. Mounted when the deployment supplies a SiteBinding.

register(
project_id: str | UUID,
body: RegisterSiteBody | Mapping[str, Any] | None = None,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
**fields: Any,
) -> RegisterSiteResult
Signature

Register a site. POST /v1/projects/{projectId}/sites

A site that will sign its own people in to this project, and a one-time enrollment code for it, shown once: the site posts it with its public key (POST /v1/auth/sites/enroll). Until then it has no key and signs nobody in. A role map gives no reviewer role above reviewerCeiling, and names only allowedRoles; nothing it gives reaches above the project. Tenant admins only.

get(
project_id: str | UUID,
site_id: str | UUID,
/,
*,
timeout: float | None = None,
) -> Site
Signature

Read a site. GET /v1/projects/{projectId}/sites/{siteId}

Its settings and its keys (ids and thumbprints only). Tenant admins only.

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

Change a site's settings. PATCH /v1/projects/{projectId}/sites/{siteId}

The settings given; the rest stay. A person's grants follow the new settings the next time the site signs them in. Tenant admins only.

pause(
project_id: str | UUID,
site_id: str | UUID,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
) -> Site
Signature

Stop a site's sign-ins. POST /v1/projects/{projectId}/sites/{siteId}/pause

The site's statements are refused until it's resumed, and its live sessions end now. Tenant admins only.

resume(
project_id: str | UUID,
site_id: str | UUID,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
) -> Site
Signature

Start a paused site's sign-ins again. POST /v1/projects/{projectId}/sites/{siteId}/resume

Tenant admins only.

unregister(
project_id: str | UUID,
site_id: str | UUID,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
) -> Site
Signature

Unregister a site. POST /v1/projects/{projectId}/sites/{siteId}/unregister

Tombstoned: its sign-ins stop and its live sessions end. The people it signed in stay, with their records. Tenant admins only.

enrollment_code(
project_id: str | UUID,
site_id: str | UUID,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
) -> SiteEnrollmentCode
Signature

A new enrollment code for a site. POST /v1/projects/{projectId}/sites/{siteId}/enrollment-codes

How a site's key is replaced: the site posts a new key with this code, which replaces every key it had and ends its live sessions. An earlier unused code stops working. Shown once. Tenant admins only.

revoke_key(
project_id: str | UUID,
site_id: str | UUID,
kid: str,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
) -> Site
Signature

Revoke one of a site's keys. POST /v1/projects/{projectId}/sites/{siteId}/keys/{kid}/revoke

Statements signed with it are refused from now on, and the site's live sessions end. Tenant admins only.