list_member_identities
List the platform accounts a project member has connected, with which one the project reaches first.
Purpose
Lists a member's connected accounts on the connectors: the platform (connector), the platform's own id, name and handle for the account, how the link was proven (source) and whether it is the one the project reaches first (preferred). Members connect accounts themselves — from the portal's Account & Recovery screen or by talking to the project's bot — so there is no tool to connect one for them. The same rows are embedded as identities[] in get_subscriber's REST counterpart, GET /v1/projects/{project}/members/{member}.
Required ability
project-user:view
Input schema
{
"type": "object",
"required": ["member_id"],
"properties": {
"member_id": {
"type": "string",
"description": "UUID of the project member whose connected accounts to list."
}
}
}Output shape
{
"data": [
{
"id": "6a1f0c3e-2d4b-4e8a-9c7d-1b5e3f9a2c4d",
"connector": "telegram",
"source": "handshake",
"preferred": true,
"external_id": "123456789",
"display_name": "Ada Lovelace",
"username": "ada",
"linked_at": "2026-09-12T10:05:00Z"
}
]
}id is the link, which is what unlink_member_identity takes; external_id is the platform's id for the account. source is one of handshake (connected from the portal and confirmed by the bot, or a portal sign-in), adopted (taken over from a sibling project), portal, bot (the bot met the account first) or backfill (migrated from before connectors).
Example prompts
"Which Telegram account is member
2a91c4e7-…connected with?"
"List the connected accounts of this subscriber."
Failure modes
RESOURCE_NOT_FOUND— unknownmember_id, or the member belongs to a team outside the token's scope.TOKEN_MISSING_ABILITY— token lacksproject-user:view.
Related
How is this guide?