# GET /v1/connections

> The connected apps of one user (user_id), or of the company's own Bash.

In [Connected apps API](https://vestra.ai/developers/reference/api/connected-apps.md): The apps each user connects through a sign-in link, and the apps they may choose from.

Send `Authorization: Bearer vk_test_...` on every call.

The connected apps of one user (user_id), or of the company's own Bash.

Your API key, scope `runtime` or `all`. On the card: [`connect`](https://vestra.ai/developers/connect.md). Every call here is a checked sample.

## Request

Query:

- `limit` (`integer`): How many items per page, 1 to 100. Default 20.
- `cursor` (`string`): Where to go on from: the `next_cursor` of the page before, unchanged. Absent: the first page.
- `user_id` (`string`): Whose Bash: your id for the user. Absent: your company's own Bash.

## Answers 200

- `data` (`object[]`): The items on this page.
  - `object` (`"connection"`): Always `connection`.
  - `id` (`string`): The connection's id. Example: `con_8f2k`.
  - `user_id` (`string | null`): Your id for the user; null for your company's own Bash.
  - `app` (`string`): The app, by its slug. Example: `gmail`.
  - `status` (`"active" | "pending" | "initializing" | "expired" | "revoked" | "inactive" | "failed"`): `active`: Bash can use it. `pending` or `initializing`: the sign-in is not finished. `expired`, `revoked`, `inactive` or `failed`: it no longer works, and the user connects it again.
  - `label` (`string | null`): The account's label, usually its email; null when the app gives none.
  - `created_at` (`string`): When it was connected, as an ISO 8601 date and time in UTC.
- `next_cursor` (`string | null`): Send it as `cursor` for the next page; null on the last page.

## Code

**TypeScript**

```ts
const connections = await vestra.connect.list();
```

**Python**

```python
connections = vestra.connect.list()
```

**CLI**

```bash
vestra connect
```

**HTTP**

```bash
# Get a sign-in link for one app. It is for one user: send them its url.
curl "$VESTRA_BASE_URL/v1/connections" \
  -H "Authorization: Bearer $VESTRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "user_id": "traveller-42", "app": "gmail" }'

# List their apps. You can also list the catalog your users may pick from.
curl "$VESTRA_BASE_URL/v1/connections?user_id=traveller-42" \
  -H "Authorization: Bearer $VESTRA_API_KEY"

curl "$VESTRA_BASE_URL/v1/apps?search=calendar" \
  -H "Authorization: Bearer $VESTRA_API_KEY"

# Disconnect an app. user_id says whose connection it is.
curl -X DELETE "$VESTRA_BASE_URL/v1/connections/con_7hs?user_id=traveller-42" \
  -H "Authorization: Bearer $VESTRA_API_KEY"
```

**MCP**

```json
{
  "method": "tools/call",
  "params": {
    "name": "connect",
    "arguments": { "user": "traveller-42", "app": "gmail" }
  }
}
```
