Ai telnyx-verify-curl
install
source · Clone the upstream repo
git clone https://github.com/team-telnyx/ai
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/team-telnyx/ai "$T" && mkdir -p ~/.claude/skills && cp -r "$T/providers/claude/plugin/skills/telnyx-verify-curl" ~/.claude/skills/team-telnyx-ai-telnyx-verify-curl && rm -rf "$T"
manifest:
providers/claude/plugin/skills/telnyx-verify-curl/SKILL.mdsource content
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
Telnyx Verify - curl
Installation
# curl is pre-installed on macOS, Linux, and Windows 10+
Setup
export TELNYX_API_KEY="YOUR_API_KEY_HERE"
All examples below use
$TELNYX_API_KEY for authentication.
Error Handling
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).
Important Notes
- Phone numbers must be in E.164 format (e.g.,
). Include the+13125550001
prefix and country code. No spaces, dashes, or parentheses.+ - Pagination: List endpoints return paginated results. Use
andpage[number]
query parameters to navigate pages. Checkpage[size]
in the response.meta.total_pages
Lookup phone number data
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)
List verifications by phone number
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)
Verify verification code by phone number
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)
Trigger Call verification
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)
Trigger Flash call verification
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)
Trigger SMS verification
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)
Retrieve verification
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)
Verify verification code by ID
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)
List all Verify profiles
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)
Create a Verify profile
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)
Retrieve Verify profile message templates
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 message template
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 message template
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)
Retrieve Verify profile
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)
Update Verify profile
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 profile
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)