create_verification
Initiate identity verification for any asset identifier—phone, email, domain, social handle, wallet, account, or Telegram bot—by providing type, channel, and identifier to generate a challenge or proof.
Instructions
Create a new identity verification. Initiates a verification flow for an asset identifier (phone number, email, domain, social handle, wallet address, account, or Telegram bot).
Agent usage: pass the asset type, the delivery channel, and the identifier (e.g. type "phone", channel "sms", identifier "+37060000000"; or type "email", channel "email", identifier "user@example.com"). The response carries a challenge object with the instruction for the chosen channel — except a telegram_bot verification made with a LIVE key, which the server completes on the spot and answers with status: verified plus a proof token and no challenge at all; with a pk_test_ key that same call stays pending and does carry a challenge. On the messenger channels it also carries challenge.deep_link — pass THAT to render_auth_link to give the user a clickable link and a QR code. This endpoint returns no qr_text at all. For OTP-based flows (sms/email), the user receives a code — poll get_verification or use wait_for_verification to track completion. For Telegram/WhatsApp, the user clicks the deep link to verify.
ACCESS: needs a Proof account. Set PROOF_API_KEY and restart this server, then call this tool again. start_login does NOT open this tool.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Asset type being verified | |
| channel | Yes | Verification channel (must match the asset type, e.g. sms/whatsapp/telegram for phone) | |
| bot_token | No | Telegram bot token (required for channel "telegram_bot_token") | |
| identifier | Yes | The asset identifier to verify (E.164 phone, email address, domain, handle, wallet address, ...) | |
| dns_provider | No | DNS provider credentials (required for channel "auto") | |
| email_prefix | No | Mailbox prefix for domain email verification | |
| client_metadata | No | Custom key-value metadata | |
| external_user_id | No | Your application user ID for grouping verifications | |
| proof_expiry_days | No | Per-request proof expiry override in days (1-365) |