telnyx-webrtc-curl
Telnyx Webrtc - 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
- Pagination: List endpoints return paginated results. Use
page[number]andpage[size]query parameters to navigate pages. Checkmeta.total_pagesin the response.
List mobile push credentials
GET /mobile_push_credentials
curl -H "Authorization: Bearer $TELNYX_API_KEY" "https://api.telnyx.com/v2/mobile_push_credentials"
Returns: alias (string), certificate (string), created_at (date-time), id (string), private_key (string), project_account_json_file (object), record_type (string), type (string), updated_at (date-time)
Creates a new mobile push credential
POST /mobile_push_credentials
curl \
-X POST \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
"https://api.telnyx.com/v2/mobile_push_credentials"
Returns: alias (string), certificate (string), created_at (date-time), id (string), private_key (string), project_account_json_file (object), record_type (string), type (string), updated_at (date-time)
Retrieves a mobile push credential
Retrieves mobile push credential based on the given push_credential_id
GET /mobile_push_credentials/{push_credential_id}
curl -H "Authorization: Bearer $TELNYX_API_KEY" "https://api.telnyx.com/v2/mobile_push_credentials/0ccc7b76-4df3-4bca-a05a-3da1ecc389f0"
Returns: alias (string), certificate (string), created_at (date-time), id (string), private_key (string), project_account_json_file (object), record_type (string), type (string), updated_at (date-time)
Deletes a mobile push credential
Deletes a mobile push credential based on the given push_credential_id
DELETE /mobile_push_credentials/{push_credential_id}
curl \
-X DELETE \
-H "Authorization: Bearer $TELNYX_API_KEY" \
"https://api.telnyx.com/v2/mobile_push_credentials/0ccc7b76-4df3-4bca-a05a-3da1ecc389f0"
List all credentials
List all On-demand Credentials.
GET /telephony_credentials
curl -H "Authorization: Bearer $TELNYX_API_KEY" "https://api.telnyx.com/v2/telephony_credentials"
Returns: created_at (string), expired (boolean), expires_at (string), id (string), name (string), record_type (string), resource_id (string), sip_password (string), sip_username (string), updated_at (string), user_id (string)
Create a credential
Create a credential.
POST /telephony_credentials — Required: connection_id
Optional: expires_at (string), name (string), tag (string)
curl \
-X POST \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tag": "some_tag",
"connection_id": "1234567890",
"expires_at": "2018-02-02T22:25:27.521Z"
}' \
"https://api.telnyx.com/v2/telephony_credentials"
Returns: created_at (string), expired (boolean), expires_at (string), id (string), name (string), record_type (string), resource_id (string), sip_password (string), sip_username (string), updated_at (string), user_id (string)
Get a credential
Get the details of an existing On-demand Credential.
GET /telephony_credentials/{id}
curl -H "Authorization: Bearer $TELNYX_API_KEY" "https://api.telnyx.com/v2/telephony_credentials/{id}"
Returns: created_at (string), expired (boolean), expires_at (string), id (string), name (string), record_type (string), resource_id (string), sip_password (string), sip_username (string), updated_at (string), user_id (string)
Update a credential
Update an existing credential.
PATCH /telephony_credentials/{id}
Optional: connection_id (string), expires_at (string), name (string), tag (string)
curl \
-X PATCH \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tag": "some_tag",
"connection_id": "987654321",
"expires_at": "2018-02-02T22:25:27.521Z"
}' \
"https://api.telnyx.com/v2/telephony_credentials/{id}"
Returns: created_at (string), expired (boolean), expires_at (string), id (string), name (string), record_type (string), resource_id (string), sip_password (string), sip_username (string), updated_at (string), user_id (string)
Delete a credential
Delete an existing credential.
DELETE /telephony_credentials/{id}
curl \
-X DELETE \
-H "Authorization: Bearer $TELNYX_API_KEY" \
"https://api.telnyx.com/v2/telephony_credentials/{id}"
Returns: created_at (string), expired (boolean), expires_at (string), id (string), name (string), record_type (string), resource_id (string), sip_password (string), sip_username (string), updated_at (string), user_id (string)