Loading...
Loading...
Look up phone number information (carrier, type, caller name) and verify users via SMS/voice OTP. Use for phone verification and data enrichment. This skill provides JavaScript SDK examples.
npx skill4agent add team-telnyx/skills telnyx-verify-javascriptnpm install telnyximport Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});clienttry {
const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
if (err instanceof Telnyx.APIConnectionError) {
console.error('Network error — check connectivity and retry');
} else if (err instanceof Telnyx.RateLimitError) {
// 429: rate limited — wait and retry with exponential backoff
const retryAfter = err.headers?.['retry-after'] || 1;
await new Promise(r => setTimeout(r, retryAfter * 1000));
} else if (err instanceof Telnyx.APIError) {
console.error(`API error ${err.status}: ${err.message}`);
if (err.status === 422) {
console.error('Validation error — check required fields and formats');
}
}
}401403404422429+13125550001+for await (const item of result) { ... }GET /number_lookup/{phone_number}const numberLookup = await client.numberLookup.retrieve('+18665552368');
console.log(numberLookup.data);caller_namecarriercountry_codefraudnational_formatphone_numberportabilityrecord_typeGET /verifications/by_phone_number/{phone_number}const byPhoneNumbers = await client.verifications.byPhoneNumber.list('+13035551234');
console.log(byPhoneNumbers.data);created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idPOST /verifications/by_phone_number/{phone_number}/actions/verifycodeverify_profile_idconst verifyVerificationCodeResponse = await client.verifications.byPhoneNumber.actions.verify(
'+13035551234',
{ code: '17686', verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292' },
);
console.log(verifyVerificationCodeResponse.data);phone_numberresponse_codePOST /verifications/callphone_numberverify_profile_idcustom_codeextensiontimeout_secsconst createVerificationResponse = await client.verifications.triggerCall({
phone_number: '+13035551234',
verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});
console.log(createVerificationResponse.data);created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idPOST /verifications/flashcallphone_numberverify_profile_idtimeout_secsconst createVerificationResponse = await client.verifications.triggerFlashcall({
phone_number: '+13035551234',
verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});
console.log(createVerificationResponse.data);created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idPOST /verifications/smsphone_numberverify_profile_idcustom_codetimeout_secsconst createVerificationResponse = await client.verifications.triggerSMS({
phone_number: '+13035551234',
verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});
console.log(createVerificationResponse.data);created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idGET /verifications/{verification_id}const verification = await client.verifications.retrieve('12ade33a-21c0-473b-b055-b3c836e1c292');
console.log(verification.data);created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idPOST /verifications/{verification_id}/actions/verifycodestatusconst verifyVerificationCodeResponse = await client.verifications.actions.verify(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyVerificationCodeResponse.data);phone_numberresponse_codeGET /verify_profiles// Automatically fetches more pages as needed.
for await (const verifyProfile of client.verifyProfiles.list()) {
console.log(verifyProfile.id);
}callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlPOST /verify_profilesnamecallflashcalllanguagercssmswebhook_failover_urlwebhook_urlconst verifyProfileData = await client.verifyProfiles.create({ name: 'Test Profile' });
console.log(verifyProfileData.data);callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlGET /verify_profiles/templatesconst response = await client.verifyProfiles.retrieveTemplates();
console.log(response.data);idtextPOST /verify_profiles/templatestextconst messageTemplate = await client.verifyProfiles.createTemplate({
text: 'Your {{app_name}} verification code is: {{code}}.',
});
console.log(messageTemplate.data);idtextPATCH /verify_profiles/templates/{template_id}textconst messageTemplate = await client.verifyProfiles.updateTemplate(
'12ade33a-21c0-473b-b055-b3c836e1c292',
{ text: 'Your {{app_name}} verification code is: {{code}}.' },
);
console.log(messageTemplate.data);idtextGET /verify_profiles/{verify_profile_id}const verifyProfileData = await client.verifyProfiles.retrieve(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyProfileData.data);callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlPATCH /verify_profiles/{verify_profile_id}callflashcalllanguagenamercssmswebhook_failover_urlwebhook_urlconst verifyProfileData = await client.verifyProfiles.update(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyProfileData.data);callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlDELETE /verify_profiles/{verify_profile_id}const verifyProfileData = await client.verifyProfiles.delete(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyProfileData.data);callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_url