# client.connection_apps

> client.connection_apps — the connectionApps operations.

`client.connection_apps` — the `connectionApps` operations.

On `AsyncKindgi` every method is the same, awaited.

## `client.connection_apps.list()`

```python signature
list(
    *,
    include_removed: bool | None = None,
    limit: int | None = None,
    cursor: str | None = None,
    timeout: float | None = None,
) -> ConnectionAppPage
```

List the workspace's app registrations. `GET /v1/connection-apps`

The workspace's own registrations of its client at an app: its client id, and its secrets by reference. Tenant admins only. Removed registrations are listed only with `includeRemoved=true`.

## `client.connection_apps.create()`

```python signature
create(
    body: CreateConnectionAppBody | Mapping[str, Any] | None = None,
    /,
    *,
    idempotency_key: str | None = None,
    timeout: float | None = None,
    **fields: Any,
) -> ConnectionApp
```

Register an app. `POST /v1/connection-apps`

Registers the workspace's own client at an app. Store its secrets first; the registration references them by name. The response gives the `redirectUrl` and `noticesUrl` to enter at the app. Tenant admins only.

## `client.connection_apps.get()`

```python signature
get(app_id: str | UUID, /, *, timeout: float | None = None) -> ConnectionApp
```

Fetch an app registration. `GET /v1/connection-apps/{appId}`

## `client.connection_apps.update()`

```python signature
update(
    app_id: str | UUID,
    body: UpdateConnectionAppBody | Mapping[str, Any] | None = None,
    /,
    *,
    idempotency_key: str | None = None,
    timeout: float | None = None,
    **fields: Any,
) -> ConnectionApp
```

Update an app registration. `PATCH /v1/connection-apps/{appId}`

Changes the label, the client or the projects that may use its connections. The app itself cannot change: register the other app on its own. Tenant admins only.

## `client.connection_apps.remove()`

```python signature
remove(
    app_id: str | UUID,
    /,
    *,
    with_connections: bool | None = None,
    idempotency_key: str | None = None,
    timeout: float | None = None,
) -> ConnectionAppRemoved
```

Remove an app registration. `DELETE /v1/connection-apps/{appId}`

Without `withConnections=true`, a registration that still has live connections is refused (`connection-app-in-use`). With it, those connections are removed too. Tenant admins only.
