whoami
Show who you are operating as: the authenticated AgentCard account's email, user id, name, plan, KYC + account status, member-since date, and how this session is connected (personal login vs a third-party OAuth app connection, with the app name). Call this when the user asks "who am I" / "which account is this", or before money-moving actions when you need to confirm the account. Read-only. KYC shown here is the stored snapshot — use get_kyc_status when you need the live, provider-checked state.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Cardholder name ("First Last"), or null before KYC info is submitted. | |
| plan | No | Subscription plan id, e.g. 'free', 'basic', or 'pro'. | |
| No | Email of the authenticated account, or null for a phone-first account (e.g. signed up by SMS on the iMessage relay). | ||
| userId | No | AgentCard user id of the authenticated account. | |
| message | Yes | Human-readable identity summary. | |
| kycStatus | No | Raw stored KYC state (e.g. approved, pending, requires_input), or null if never started. | |
| kycVerified | No | Whether identity verification (KYC) has passed (stored snapshot). | |
| memberSince | No | ISO timestamp the account was created. | |
| accountStatus | No | Account standing: 'active' or 'suspended'. | |
| connectionType | No | How this session authenticates: 'oauth' (third-party app connection), 'personal' (CLI/dashboard login), or 'organization' (a company's Agentcard integration acting for its end user). | |
| connectionClientId | No | OAuth client id of the connected app, when connectionType is oauth. | |
| subscriptionStatus | No | Stripe subscription status (e.g. 'active', 'past_due'), or null on the free plan. | |
| connectionClientName | No | Display name of the connected OAuth app (e.g. "Claude"), when known. | |
| connectionOrganizationId | No | Organization id, when connectionType is organization. |