From telnyx
Look up phone number carrier, type, caller name; verify users via SMS/voice OTP using Telnyx REST API curl examples. For phone auth and enrichment.
npx claudepluginhub team-telnyx/ai --plugin telnyxThis skill uses the workspace's default tool permissions.
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
Look up phone number carrier, type, caller name; verify users via SMS/voice OTP using Telnyx REST API curl examples. For phone auth and enrichment.
Look up phone number details (carrier, type, caller name) and verify users via SMS/voice OTP using Telnyx Python SDK. For phone verification and data enrichment.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Share bugs, ideas, or general feedback.
# curl is pre-installed on macOS, Linux, and Windows 10+
export TELNYX_API_KEY="YOUR_API_KEY_HERE"
All examples below use $TELNYX_API_KEY for authentication.
All API calls can fail with network errors, rate limits (429), validation errors (422), or authentication errors (401). Always handle errors in production code:
# Check HTTP status code in response
response=$(curl -s -w "\n%{http_code}" \
-X POST "https://api.telnyx.com/v2/messages" \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"to": "+13125550001", "from": "+13125550002", "text": "Hello"}')
http_code=$(echo "$response" | tail -1)
body=$(echo "$response" | sed '$d')
case $http_code in
2*) echo "Success: $body" ;;
422) echo "Validation error — check required fields and formats" ;;
429) echo "Rate limited — retry after delay"; sleep 1 ;;
401) echo "Authentication failed — check TELNYX_API_KEY" ;;
*) echo "Error $http_code: $body" ;;
esac
Common error codes: 401 invalid API key, 403 insufficient permissions,
404 resource not found, 422 validation error (check field formats),
429 rate limited (retry with exponential backoff).
+13125550001). Include the + prefix and country code. No spaces, dashes, or parentheses.page[number] and page[size] query parameters to navigate pages. Check meta.total_pages in the response.Returns information about the provided phone number.
GET /number_lookup/{phone_number}
curl -H "Authorization: Bearer $TELNYX_API_KEY" "https://api.telnyx.com/v2/number_lookup/+18665552368"
Returns: caller_name (object), carrier (object), country_code (string), fraud (string | null), national_format (string), phone_number (string), portability (object), record_type (string)
GET /verifications/by_phone_number/{phone_number}
curl -H "Authorization: Bearer $TELNYX_API_KEY" "https://api.telnyx.com/v2/verifications/by_phone_number/+13035551234"
Returns: created_at (string), custom_code (string | null), id (uuid), phone_number (string), record_type (enum: verification), status (enum: pending, accepted, invalid, expired, error), timeout_secs (integer), type (enum: sms, call, flashcall), updated_at (string), verify_profile_id (uuid)
POST /verifications/by_phone_number/{phone_number}/actions/verify — Required: code, verify_profile_id
curl \
-X POST \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"code": "17686",
"verify_profile_id": "12ade33a-21c0-473b-b055-b3c836e1c292"
}' \
"https://api.telnyx.com/v2/verifications/by_phone_number/+13035551234/actions/verify"
Returns: phone_number (string), response_code (enum: accepted, rejected)
POST /verifications/call — Required: phone_number, verify_profile_id
Optional: custom_code (string | null), extension (string | null), timeout_secs (integer)
curl \
-X POST \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+13035551234",
"verify_profile_id": "12ade33a-21c0-473b-b055-b3c836e1c292"
}' \
"https://api.telnyx.com/v2/verifications/call"
Returns: created_at (string), custom_code (string | null), id (uuid), phone_number (string), record_type (enum: verification), status (enum: pending, accepted, invalid, expired, error), timeout_secs (integer), type (enum: sms, call, flashcall), updated_at (string), verify_profile_id (uuid)
POST /verifications/flashcall — Required: phone_number, verify_profile_id
Optional: timeout_secs (integer)
curl \
-X POST \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+13035551234",
"verify_profile_id": "12ade33a-21c0-473b-b055-b3c836e1c292"
}' \
"https://api.telnyx.com/v2/verifications/flashcall"
Returns: created_at (string), custom_code (string | null), id (uuid), phone_number (string), record_type (enum: verification), status (enum: pending, accepted, invalid, expired, error), timeout_secs (integer), type (enum: sms, call, flashcall), updated_at (string), verify_profile_id (uuid)
POST /verifications/sms — Required: phone_number, verify_profile_id
Optional: custom_code (string | null), timeout_secs (integer)
curl \
-X POST \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+13035551234",
"verify_profile_id": "12ade33a-21c0-473b-b055-b3c836e1c292"
}' \
"https://api.telnyx.com/v2/verifications/sms"
Returns: created_at (string), custom_code (string | null), id (uuid), phone_number (string), record_type (enum: verification), status (enum: pending, accepted, invalid, expired, error), timeout_secs (integer), type (enum: sms, call, flashcall), updated_at (string), verify_profile_id (uuid)
GET /verifications/{verification_id}
curl -H "Authorization: Bearer $TELNYX_API_KEY" "https://api.telnyx.com/v2/verifications/12ade33a-21c0-473b-b055-b3c836e1c292"
Returns: created_at (string), custom_code (string | null), id (uuid), phone_number (string), record_type (enum: verification), status (enum: pending, accepted, invalid, expired, error), timeout_secs (integer), type (enum: sms, call, flashcall), updated_at (string), verify_profile_id (uuid)
POST /verifications/{verification_id}/actions/verify
Optional: code (string), status (enum: accepted, rejected)
curl \
-X POST \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"code": "12345"
}' \
"https://api.telnyx.com/v2/verifications/12ade33a-21c0-473b-b055-b3c836e1c292/actions/verify"
Returns: phone_number (string), response_code (enum: accepted, rejected)
Gets a paginated list of Verify profiles.
GET /verify_profiles
curl -H "Authorization: Bearer $TELNYX_API_KEY" "https://api.telnyx.com/v2/verify_profiles"
Returns: call (object), created_at (string), flashcall (object), id (uuid), language (string), name (string), rcs (object), record_type (enum: verification_profile), sms (object), updated_at (string), webhook_failover_url (string), webhook_url (string)
Creates a new Verify profile to associate verifications with.
POST /verify_profiles — Required: name
Optional: call (object), flashcall (object), language (string), rcs (object), sms (object), webhook_failover_url (string), webhook_url (string)
curl \
-X POST \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Test Profile"
}' \
"https://api.telnyx.com/v2/verify_profiles"
Returns: call (object), created_at (string), flashcall (object), id (uuid), language (string), name (string), rcs (object), record_type (enum: verification_profile), sms (object), updated_at (string), webhook_failover_url (string), webhook_url (string)
List all Verify profile message templates.
GET /verify_profiles/templates
curl -H "Authorization: Bearer $TELNYX_API_KEY" "https://api.telnyx.com/v2/verify_profiles/templates"
Returns: id (uuid), text (string)
Create a new Verify profile message template.
POST /verify_profiles/templates — Required: text
curl \
-X POST \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Your {{app_name}} verification code is: {{code}}."
}' \
"https://api.telnyx.com/v2/verify_profiles/templates"
Returns: id (uuid), text (string)
Update an existing Verify profile message template.
PATCH /verify_profiles/templates/{template_id} — Required: text
curl \
-X PATCH \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Your {{app_name}} verification code is: {{code}}."
}' \
"https://api.telnyx.com/v2/verify_profiles/templates/12ade33a-21c0-473b-b055-b3c836e1c292"
Returns: id (uuid), text (string)
Gets a single Verify profile.
GET /verify_profiles/{verify_profile_id}
curl -H "Authorization: Bearer $TELNYX_API_KEY" "https://api.telnyx.com/v2/verify_profiles/12ade33a-21c0-473b-b055-b3c836e1c292"
Returns: call (object), created_at (string), flashcall (object), id (uuid), language (string), name (string), rcs (object), record_type (enum: verification_profile), sms (object), updated_at (string), webhook_failover_url (string), webhook_url (string)
PATCH /verify_profiles/{verify_profile_id}
Optional: call (object), flashcall (object), language (string), name (string), rcs (object), sms (object), webhook_failover_url (string), webhook_url (string)
curl \
-X PATCH \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
"https://api.telnyx.com/v2/verify_profiles/12ade33a-21c0-473b-b055-b3c836e1c292"
Returns: call (object), created_at (string), flashcall (object), id (uuid), language (string), name (string), rcs (object), record_type (enum: verification_profile), sms (object), updated_at (string), webhook_failover_url (string), webhook_url (string)
DELETE /verify_profiles/{verify_profile_id}
curl \
-X DELETE \
-H "Authorization: Bearer $TELNYX_API_KEY" \
"https://api.telnyx.com/v2/verify_profiles/12ade33a-21c0-473b-b055-b3c836e1c292"
Returns: call (object), created_at (string), flashcall (object), id (uuid), language (string), name (string), rcs (object), record_type (enum: verification_profile), sms (object), updated_at (string), webhook_failover_url (string), webhook_url (string)