---
title: "List the team's connected AI tools"
method: GET
path: "/v1/ai-tools/members"
tags: ["ai-tools"]
---

# List the team's connected AI tools

`GET /v1/ai-tools/members`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/ai-tools/members`
- Auth: HTTP bearer

List every member's live AI tool connections in this workspace. Owners and admins only.

## Headers

- `X-Tenant-Id` string, nullable

## Response `200`

Successful Response

- MemberAiToolConnectionList
  - `items` MemberAiToolConnection[], required
    - `membership_id` string, uuid, required: The member who holds the connection, as the id the members list uses.
    - `tool` 'claude' | 'chatgpt' | 'grok' | 'cursor' | 'local_app' | 'other', required: Which AI tool holds a connection to Patricia, read from the address its sign-in returns to.
    - `connected_at` string, date-time, required: When the person approved the connection.
    - `last_import_at` string, date-time, nullable, required: When the tool last asked for onboarding import prompts through this connection. This does not mean an import finished. Null when it never asked.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden. Inspect response body `code` for the specific reason (for example: PERMISSION_DENIED, EMAIL_NOT_VERIFIED, TENANT_ACCESS_REQUIRED, ROLE_UNRESOLVED)
- `404`: Not found
- `422`: Validation error

---

[API](https://skmtc.dev/patricia/apis/patricia-api.md) · [All operations](https://skmtc.dev/patricia/apis/patricia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/patricia/apis/patricia-api/revisions/0dfb44495ea1?raw)
