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.md
source 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.,
    +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"
}' \
  "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)