Skip to main content
Creates a virtual member: a managed identity with no email and no console access. It appears in the roster, holds a role, and acts only through API keys issued for it (Create API Key with member_principal_id). Memories and conversations produced through those keys are attributed to the virtual member. Human members cannot be created here — they join through invitations only.
Permission required: member:manage_virtual (team owners and admins by default)

Headers

string
Optional. Retrying with the same value replays the first result.

Request Body

string
required
Display name (1–20 characters)
string
required
Role: tenant_admin, tenant_member, or a custom role key of this team. The owner role cannot be assigned.

Response

Returns a Member object with member_type: "virtual".

Issuing a key for a virtual member

cURL
The key acts as the virtual member — with its role, and with attribution to its identity. Only virtual members can be targeted; requesting a human member’s principal_id returns the same 404 as an unknown one, so keys can never impersonate a colleague. Removing a virtual member disables its keys.