skills/team-telnyx/telnyx-skills/telnyx-verify-curl

telnyx-verify-curl

SKILL.md

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., +13125550001). Include the + prefix and country code. No spaces, dashes, or parentheses.
  • Pagination: List endpoints return paginated results. Use page[number] and page[size] query parameters to navigate pages. Check meta.total_pages in the response.

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",
  "custom_code": "43612",
  "timeout_secs": 300,
  "extension": "1www2WABCDw9"
}' \
  "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",
  "timeout_secs": 300
}' \
  "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",
  "custom_code": "43612",
  "timeout_secs": 300
}' \
  "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": "17686",
  "status": "accepted"
}' \
  "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",
  "webhook_url": "http://example.com/webhook",
  "webhook_failover_url": "http://example.com/webhook/failover",
  "language": "en-US"
}' \
  "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" \
  -d '{
  "name": "Test Profile",
  "webhook_url": "http://example.com/webhook",
  "webhook_failover_url": "http://example.com/webhook/failover",
  "language": "en-US"
}' \
  "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)

Weekly Installs
4
GitHub Stars
141
First Seen
10 days ago
Installed on
opencode4
gemini-cli4
antigravity4
github-copilot4
amp4
cline4