Fast path
Already have an API key? List phone numbers, create a trial session if using a shared trial number, search SMS, then create a webhook.
TextroVault API Platform Alpha V4
Use Bearer authentication, list accessible SIM-backed phone numbers, search inbound SMS with selected-number rules, and receive signedsms.received events through filtered webhooks.
Already have an API key? List phone numbers, create a trial session if using a shared trial number, search SMS, then create a webhook.
AI agents can initiate TextroVault onboarding by creating a bootstrap session for a human or workspace owner. TextroVault issues SMS capable trial API keys only after owner email verification.
Payment method verification or dedicated prepayment can prove upgrade readiness, improve trial priority, and create a dedicated allocation request.
Shared trial mode lets verified users test TextroVault API, MCP, webhook, and agent workflows through shared SIM backed trial numbers. Dedicated mode gives paid activated customers private assigned SIM backed numbers.
Shared trial numbers are shared across trial users. Do not use them for private, sensitive, financial, account recovery, or production workflows. Use dedicated numbers for private and production use.
Fast path
curl https://api.textrovault.com/v1/phone-numbers \
-H "Authorization: Bearer $TV_API_KEY" \
-H "Accept: application/json"curl https://api.textrovault.com/v1/trial-sessions \
-H "Authorization: Bearer $TV_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: trial-session-001" \
-d '{
"phone_number_id": "pn_01JZ8N7Q5Q8G9KQ1A2B3C4D5E6",
"sender_hint": "gifgaf",
"ttl_seconds": 1800
}'curl https://api.textrovault.com/v1/sms/search \
-H "Authorization: Bearer $TV_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: sms-search-read-001" \
-d '{
"phone_number_id": "pn_01JZ8N7Q5Q8G9KQ1A2B3C4D5E6",
"trial_session_id": "ts_01JZ8N7Q5Q8G9KQ1A2B3C4D5E6",
"filter": {
"sender_hint": "gifgaf",
"received_after": "2026-06-24T18:30:00Z"
},
"order": "desc",
"limit": 1,
"mark_as_read": true
}'curl https://api.textrovault.com/v1/webhooks \
-H "Authorization: Bearer $TV_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: webhook-create-001" \
-d '{
"url": "https://example.com/textrovault/webhook",
"events": ["sms.received"],
"include_body": true,
"phone_number_id": "pn_01JZ8N7Q5Q8G9KQ1A2B3C4D5E6",
"trial_session_id": "ts_01JZ8N7Q5Q8G9KQ1A2B3C4D5E6",
"filter": {
"sender_hint": "gifgaf"
},
"expires_in_seconds": 1800
}'Agent setup path
curl https://api.textrovault.com/v1/onboarding/agent-bootstrap \
-H "Content-Type: application/json" \
-H "Idempotency-Key: bootstrap-001" \
-d '{
"owner_email": "human@example.com",
"account_name": "Acme Agent Test",
"principal_type": "ai_agent",
"platform_source": "mcp",
"agent_name": "Claude Desktop workflow",
"intended_use": "Test inbound SMS retrieval through TextroVault API",
"requested_capability": "shared_trial_api"
}'curl https://api.textrovault.com/v1/onboarding/bootstrap/abs_01JZ... \
-H "Authorization: Bearer $TV_BOOTSTRAP_TOKEN" \
-H "Accept: application/json"curl -X POST https://api.textrovault.com/v1/onboarding/bootstrap/abs_01JZ.../issue-api-key \
-H "Authorization: Bearer $TV_BOOTSTRAP_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: issue-key-001"Optional proof path
curl https://api.textrovault.com/v1/onboarding/payment-verification-session \
-H "Authorization: Bearer $TV_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: payment-verification-001" \
-d '{
"mode": "payment_method_verification",
"payment_initiated_by": "ai_agent",
"success_url": "https://example.com/textrovault/success",
"cancel_url": "https://example.com/textrovault/cancel"
}'Public alpha routes
/v1/onboarding/agent-bootstrapCreate or attach a claimable trial account for a verified owner email.
/v1/onboarding/bootstrap/{session_id}Poll owner verification or authorization status without returning an API key.
/v1/onboarding/bootstrap/{session_id}/verify-emailComplete owner email verification or existing-owner authorization by code.
/v1/onboarding/bootstrap/{session_id}/issue-api-keyReturn the SMS-capable shared-trial API key once after owner verification.
/v1/onboarding/payment-verification-sessionCreate an optional payment-method verification or dedicated prepayment session.
/v1/phone-numbersReturn accessible SIM-backed phone numbers with stable pn_ IDs and number modes.
/v1/trial-sessionsCreate a short shared-trial temporal boundary for SMS search and webhook matching.
/v1/sms/searchSearch selected-number inbound SMS with sender matching and shared-trial safeguards.
/v1/webhooksCreate a signed sms.received webhook with dedicated or shared-trial filters.
/v1/webhooksList configured V4 webhooks without returning signing secrets.
/v1/webhooks/{webhook_id}Disable a webhook while preserving delivery history.
/v1/webhooks/{webhook_id}/testSend a signed sms.received test event to a webhook receiver.
Store the webhook signing secret because it is shown only once. Verify signatures using HMAC SHA-256 over timestamp.raw_json_body.
Textrovault-TimestampTextrovault-Event-IdTextrovault-Signature