{"id":"53f6cd25-3749-45fd-a5ce-9cccbf48e41b","shortId":"BQscLW","kind":"skill","title":"telnyx-account-notifications-javascript","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Account Notifications - JavaScript\n\n## Installation\n\n```bash\nnpm install telnyx\n```\n\n## Setup\n\n```javascript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx({\n  apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted\n});\n```\n\nAll examples below assume `client` is already initialized as shown above.\n\n## Error Handling\n\nAll API calls can fail with network errors, rate limits (429), validation errors (422),\nor authentication errors (401). Always handle errors in production code:\n\n```javascript\ntry {\n  const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });\n} catch (err) {\n  if (err instanceof Telnyx.APIConnectionError) {\n    console.error('Network error — check connectivity and retry');\n  } else if (err instanceof Telnyx.RateLimitError) {\n    // 429: rate limited — wait and retry with exponential backoff\n    const retryAfter = err.headers?.['retry-after'] || 1;\n    await new Promise(r => setTimeout(r, retryAfter * 1000));\n  } else if (err instanceof Telnyx.APIError) {\n    console.error(`API error ${err.status}: ${err.message}`);\n    if (err.status === 422) {\n      console.error('Validation error — check required fields and formats');\n    }\n  }\n}\n```\n\nCommon error codes: `401` invalid API key, `403` insufficient permissions,\n`404` resource not found, `422` validation error (check field formats),\n`429` rate limited (retry with exponential backoff).\n\n## Important Notes\n\n- **Pagination:** List methods return an auto-paginating iterator. Use `for await (const item of result) { ... }` to iterate through all pages automatically.\n\n## List notification channels\n\nList notification channels.\n\n`GET /notification_channels`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const notificationChannel of client.notificationChannels.list()) {\n  console.log(notificationChannel.id);\n}\n```\n\nReturns: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)\n\n## Create a notification channel\n\nCreate a notification channel.\n\n`POST /notification_channels`\n\nOptional: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)\n\n```javascript\nconst notificationChannel = await client.notificationChannels.create({\n    channelTypeId: 'webhook',\n    channelDestination: 'https://example.com/webhooks',\n});\n\nconsole.log(notificationChannel.data);\n```\n\nReturns: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)\n\n## Get a notification channel\n\nGet a notification channel.\n\n`GET /notification_channels/{id}`\n\n```javascript\nconst notificationChannel = await client.notificationChannels.retrieve(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(notificationChannel.data);\n```\n\nReturns: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)\n\n## Update a notification channel\n\nUpdate a notification channel.\n\n`PATCH /notification_channels/{id}`\n\nOptional: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)\n\n```javascript\nconst notificationChannel = await client.notificationChannels.update(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(notificationChannel.data);\n```\n\nReturns: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)\n\n## Delete a notification channel\n\nDelete a notification channel.\n\n`DELETE /notification_channels/{id}`\n\n```javascript\nconst notificationChannel = await client.notificationChannels.delete(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(notificationChannel.data);\n```\n\nReturns: `channel_destination` (string), `channel_type_id` (enum: sms, voice, email, webhook), `created_at` (date-time), `id` (string), `notification_profile_id` (string), `updated_at` (date-time)\n\n## List all Notifications Events Conditions\n\nReturns a list of your notifications events conditions.\n\n`GET /notification_event_conditions`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const notificationEventConditionListResponse of client.notificationEventConditions.list()) {\n  console.log(notificationEventConditionListResponse.id);\n}\n```\n\nReturns: `allow_multiple_channels` (boolean), `associated_record_type` (enum: account, phone_number), `asynchronous` (boolean), `created_at` (date-time), `description` (string), `enabled` (boolean), `id` (string), `name` (string), `notification_event_id` (string), `parameters` (array[object]), `supported_channels` (array[string]), `updated_at` (date-time)\n\n## List all Notifications Events\n\nReturns a list of your notifications events.\n\n`GET /notification_events`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const notificationEventListResponse of client.notificationEvents.list()) {\n  console.log(notificationEventListResponse.id);\n}\n```\n\nReturns: `created_at` (date-time), `enabled` (boolean), `id` (string), `name` (string), `notification_category` (string), `updated_at` (date-time)\n\n## List all Notifications Profiles\n\nReturns a list of your notifications profiles.\n\n`GET /notification_profiles`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const notificationProfile of client.notificationProfiles.list()) {\n  console.log(notificationProfile.id);\n}\n```\n\nReturns: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)\n\n## Create a notification profile\n\nCreate a notification profile.\n\n`POST /notification_profiles`\n\nOptional: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)\n\n```javascript\nconst notificationProfile = await client.notificationProfiles.create({\n    name: 'My Notification Profile',\n});\n\nconsole.log(notificationProfile.data);\n```\n\nReturns: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)\n\n## Get a notification profile\n\nGet a notification profile.\n\n`GET /notification_profiles/{id}`\n\n```javascript\nconst notificationProfile = await client.notificationProfiles.retrieve(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(notificationProfile.data);\n```\n\nReturns: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)\n\n## Update a notification profile\n\nUpdate a notification profile.\n\n`PATCH /notification_profiles/{id}`\n\nOptional: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)\n\n```javascript\nconst notificationProfile = await client.notificationProfiles.update(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(notificationProfile.data);\n```\n\nReturns: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)\n\n## Delete a notification profile\n\nDelete a notification profile.\n\n`DELETE /notification_profiles/{id}`\n\n```javascript\nconst notificationProfile = await client.notificationProfiles.delete(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(notificationProfile.data);\n```\n\nReturns: `created_at` (date-time), `id` (string), `name` (string), `updated_at` (date-time)\n\n## List notification settings\n\nList notification settings.\n\n`GET /notification_settings`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const notificationSetting of client.notificationSettings.list()) {\n  console.log(notificationSetting.id);\n}\n```\n\nReturns: `associated_record_type` (string), `associated_record_type_value` (string), `created_at` (date-time), `id` (string), `notification_channel_id` (string), `notification_event_condition_id` (string), `notification_profile_id` (string), `parameters` (array[object]), `status` (enum: enabled, enable-received, enable-pending, enable-submitted, delete-received, delete-pending, delete-submitted, deleted), `updated_at` (date-time)\n\n## Add a Notification Setting\n\nAdd a notification setting.\n\n`POST /notification_settings`\n\nOptional: `associated_record_type` (string), `associated_record_type_value` (string), `created_at` (date-time), `id` (string), `notification_channel_id` (string), `notification_event_condition_id` (string), `notification_profile_id` (string), `parameters` (array[object]), `status` (enum: enabled, enable-received, enable-pending, enable-submitted, delete-received, delete-pending, delete-submitted, deleted), `updated_at` (date-time)\n\n```javascript\nconst notificationSetting = await client.notificationSettings.create();\n\nconsole.log(notificationSetting.data);\n```\n\nReturns: `associated_record_type` (string), `associated_record_type_value` (string), `created_at` (date-time), `id` (string), `notification_channel_id` (string), `notification_event_condition_id` (string), `notification_profile_id` (string), `parameters` (array[object]), `status` (enum: enabled, enable-received, enable-pending, enable-submitted, delete-received, delete-pending, delete-submitted, deleted), `updated_at` (date-time)\n\n## Get a notification setting\n\nGet a notification setting.\n\n`GET /notification_settings/{id}`\n\n```javascript\nconst notificationSetting = await client.notificationSettings.retrieve(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(notificationSetting.data);\n```\n\nReturns: `associated_record_type` (string), `associated_record_type_value` (string), `created_at` (date-time), `id` (string), `notification_channel_id` (string), `notification_event_condition_id` (string), `notification_profile_id` (string), `parameters` (array[object]), `status` (enum: enabled, enable-received, enable-pending, enable-submitted, delete-received, delete-pending, delete-submitted, deleted), `updated_at` (date-time)\n\n## Delete a notification setting\n\nDelete a notification setting.\n\n`DELETE /notification_settings/{id}`\n\n```javascript\nconst notificationSetting = await client.notificationSettings.delete(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(notificationSetting.data);\n```\n\nReturns: `associated_record_type` (string), `associated_record_type_value` (string), `created_at` (date-time), `id` (string), `notification_channel_id` (string), `notification_event_condition_id` (string), `notification_profile_id` (string), `parameters` (array[object]), `status` (enum: enabled, enable-received, enable-pending, enable-submitted, delete-received, delete-pending, delete-submitted, deleted), `updated_at` (date-time)","tags":["telnyx","account","notifications","javascript","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm"],"capabilities":["skill","source-team-telnyx","skill-telnyx-account-notifications-javascript","topic-agent-skills","topic-ai-coding-agent","topic-claude-code","topic-cpaas","topic-cursor","topic-iot","topic-llm","topic-sdk","topic-sip","topic-sms","topic-speech-to-text","topic-telephony"],"categories":["ai"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/team-telnyx/ai/telnyx-account-notifications-javascript","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add team-telnyx/ai","source_repo":"https://github.com/team-telnyx/ai","install_from":"skills.sh"}},"qualityScore":"0.533","qualityRationale":"deterministic score 0.53 from registry signals: · indexed on github topic:agent-skills · 167 github stars · SKILL.md body (10,961 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T12:54:42.037Z","embedding":null,"createdAt":"2026-04-18T22:06:03.542Z","updatedAt":"2026-04-22T12:54:42.037Z","lastSeenAt":"2026-04-22T12:54:42.037Z","tsv":"'+13125550001':82 '+13125550002':84 '/notification_channels':208,261,340,392,472 '/notification_event_conditions':529 '/notification_events':600 '/notification_profiles':648,688,739,778,832 '/notification_settings':869,954,1091,1175 '/webhooks'',':300 '1':120 '1000':128 '182bd5e5':348,428,480,747,801,840,1099,1183 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':347,427,479,746,800,839,1098,1182 '401':68,153 '403':157 '404':160 '422':64,141,164 '429':61,105,170 '4fe4':350,430,482,749,803,842,1101,1185 '6e1a':349,429,481,748,802,841,1100,1184 'a799':351,431,483,750,804,843,1102,1186 'aa6d9a6ab26e':352,432,484,751,805,844,1103,1187 'account':3,7,554 'add':945,949 'allow':546 'alreadi':44 'alway':69 'api':28,52,135,155 'apikey':25 'array':577,581,916,986,1053,1137,1221 'associ':550,886,890,956,960,1023,1027,1107,1111,1191,1195 'assum':41 'asynchron':557 'authent':66 'auto':185 'auto-pagin':184 'automat':200,210,531,602,650,871 'await':79,121,190,217,293,345,425,477,538,609,657,707,744,798,837,878,1018,1096,1180 'backoff':113,176 'bash':11 'boolean':549,558,567,623 'call':53 'catch':87 'categori':629 'channel':203,206,225,228,255,259,263,266,304,307,334,338,356,359,386,390,395,398,436,439,466,470,488,491,548,580,903,973,1040,1124,1208 'channeldestin':297 'channeltypeid':295 'check':96,145,167 'client':22,42 'client.messages.send':80 'client.notificationchannels.create':294 'client.notificationchannels.delete':478 'client.notificationchannels.list':221 'client.notificationchannels.retrieve':346 'client.notificationchannels.update':426 'client.notificationeventconditions.list':542 'client.notificationevents.list':613 'client.notificationprofiles.create':708 'client.notificationprofiles.delete':838 'client.notificationprofiles.list':661 'client.notificationprofiles.retrieve':745 'client.notificationprofiles.update':799 'client.notificationsettings.create':1019 'client.notificationsettings.delete':1181 'client.notificationsettings.list':882 'client.notificationsettings.retrieve':1097 'code':74,152 'common':150 'condit':519,527,908,978,1045,1129,1213 'connect':97 'console.error':93,134,142 'console.log':222,301,353,433,485,543,614,662,713,752,806,845,883,1020,1104,1188 'const':21,77,114,191,218,291,343,423,475,539,610,658,705,742,796,835,879,1016,1094,1178 'creat':236,252,256,274,315,367,406,447,499,559,617,665,679,683,690,716,755,781,809,848,895,965,1032,1116,1200 'date':239,250,277,288,318,329,370,381,409,420,450,461,502,513,562,586,620,634,668,677,693,702,719,728,758,767,784,793,812,821,851,860,898,943,968,1013,1035,1080,1119,1164,1203,1248 'date-tim':238,249,276,287,317,328,369,380,408,419,449,460,501,512,561,585,619,633,667,676,692,701,718,727,757,766,783,792,811,820,850,859,897,942,967,1012,1034,1079,1118,1163,1202,1247 'default':33 'delet':463,467,471,823,827,831,931,934,937,939,1001,1004,1007,1009,1068,1071,1074,1076,1152,1155,1158,1160,1166,1170,1174,1236,1239,1242,1244 'delete-pend':933,1003,1070,1154,1238 'delete-receiv':930,1000,1067,1151,1235 'delete-submit':936,1006,1073,1157,1241 'descript':564 'destin':226,264,305,357,396,437,489 'els':100,129 'email':234,272,313,365,404,445,497 'enabl':566,622,920,922,925,928,990,992,995,998,1057,1059,1062,1065,1141,1143,1146,1149,1225,1227,1230,1233 'enable-pend':924,994,1061,1145,1229 'enable-receiv':921,991,1058,1142,1226 'enable-submit':927,997,1064,1148,1232 'enum':231,269,310,362,401,442,494,553,919,989,1056,1140,1224 'err':88,90,102,131 'err.headers':116 'err.message':138 'err.status':137,140 'error':49,58,63,67,71,95,136,144,151,166 'event':518,526,573,591,598,907,977,1044,1128,1212 'exampl':39 'example.com':299 'example.com/webhooks'',':298 'exponenti':112,175 'fail':55 'fetch':211,532,603,651,872 'field':147,168 'format':149,169 'found':163 'get':207,331,335,339,528,599,647,730,734,738,868,1082,1086,1090 'handl':50,70 'hello':86 'id':230,241,245,268,279,283,309,320,324,341,361,372,376,393,400,411,415,441,452,456,473,493,504,508,568,574,624,670,695,721,740,760,779,786,814,833,853,900,904,909,913,970,974,979,983,1037,1041,1046,1050,1092,1121,1125,1130,1134,1176,1205,1209,1214,1218 'import':17,177 'initi':45 'instal':10,13 'instanceof':91,103,132 'insuffici':158 'invalid':154 'item':192 'iter':187,196 'javascript':5,9,16,75,209,290,342,422,474,530,601,649,704,741,795,834,870,1015,1093,1177 'key':29,156 'limit':60,107,172 'list':180,201,204,515,522,588,594,636,642,862,865 'method':181 'multipl':547 'name':570,626,672,697,709,723,762,788,816,855 'need':215,536,607,655,876 'network':57,94 'new':23,122 'note':178 'notif':4,8,202,205,243,254,258,281,322,333,337,374,385,389,413,454,465,469,506,517,525,572,590,597,628,638,645,681,685,711,732,736,771,775,825,829,863,866,902,906,911,947,951,972,976,981,1039,1043,1048,1084,1088,1123,1127,1132,1168,1172,1207,1211,1216 'notificationchannel':219,292,344,424,476 'notificationchannel.data':302,354,434,486 'notificationchannel.id':223 'notificationeventconditionlistrespons':540 'notificationeventconditionlistresponse.id':544 'notificationeventlistrespons':611 'notificationeventlistresponse.id':615 'notificationprofil':659,706,743,797,836 'notificationprofile.data':714,753,807,846 'notificationprofile.id':663 'notificationset':880,1017,1095,1179 'notificationsetting.data':1021,1105,1189 'notificationsetting.id':884 'npm':12 'number':556 'object':578,917,987,1054,1138,1222 'omit':37 'option':262,394,689,780,955 'page':199,213,534,605,653,874 'pagin':179,186 'paramet':576,915,985,1052,1136,1220 'patch':391,777 'pend':926,935,996,1005,1063,1072,1147,1156,1231,1240 'permiss':159 'phone':555 'post':260,687,953 'process.env':26 'product':73 'profil':244,282,323,375,414,455,507,639,646,682,686,712,733,737,772,776,826,830,912,982,1049,1133,1217 'promis':123 'r':124,126 'rate':59,106,171 'receiv':923,932,993,1002,1060,1069,1144,1153,1228,1237 'record':551,887,891,957,961,1024,1028,1108,1112,1192,1196 'requir':146 'resourc':161 'result':78,194 'retri':99,110,118,173 'retry-aft':117 'retryaft':115,127 'return':182,224,303,355,435,487,520,545,592,616,640,664,715,754,808,847,885,1022,1106,1190 'set':864,867,948,952,1085,1089,1169,1173 'settimeout':125 'setup':15 'shown':47 'skill' 'skill-telnyx-account-notifications-javascript' 'sms':232,270,311,363,402,443,495 'source-team-telnyx' 'status':918,988,1055,1139,1223 'string':227,242,246,265,280,284,306,321,325,358,373,377,397,412,416,438,453,457,490,505,509,565,569,571,575,582,625,627,630,671,673,696,698,722,724,761,763,787,789,815,817,854,856,889,894,901,905,910,914,959,964,971,975,980,984,1026,1031,1038,1042,1047,1051,1110,1115,1122,1126,1131,1135,1194,1199,1206,1210,1215,1219 'submit':929,938,999,1008,1066,1075,1150,1159,1234,1243 'support':579 'telnyx':2,6,14,18,20,24,27 'telnyx-account-notifications-javascript':1 'telnyx.apiconnectionerror':92 'telnyx.apierror':133 'telnyx.ratelimiterror':104 'text':85 'time':240,251,278,289,319,330,371,382,410,421,451,462,503,514,563,587,621,635,669,678,694,703,720,729,759,768,785,794,813,822,852,861,899,944,969,1014,1036,1081,1120,1165,1204,1249 'topic-agent-skills' 'topic-ai-coding-agent' 'topic-claude-code' 'topic-cpaas' 'topic-cursor' 'topic-iot' 'topic-llm' 'topic-sdk' 'topic-sip' 'topic-sms' 'topic-speech-to-text' 'topic-telephony' 'tri':76 'type':229,267,308,360,399,440,492,552,888,892,958,962,1025,1029,1109,1113,1193,1197 'updat':247,285,326,378,383,387,417,458,510,583,631,674,699,725,764,769,773,790,818,857,940,1010,1077,1161,1245 'use':188 'valid':62,143,165 'valu':893,963,1030,1114,1198 'voic':233,271,312,364,403,444,496 'wait':108 'webhook':235,273,296,314,366,405,446,498","prices":[{"id":"a1a903a3-f0c1-43ff-adf0-482f787f7340","listingId":"53f6cd25-3749-45fd-a5ce-9cccbf48e41b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"team-telnyx","category":"ai","install_from":"skills.sh"},"createdAt":"2026-04-18T22:06:03.542Z"}],"sources":[{"listingId":"53f6cd25-3749-45fd-a5ce-9cccbf48e41b","source":"github","sourceId":"team-telnyx/ai/telnyx-account-notifications-javascript","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-account-notifications-javascript","isPrimary":false,"firstSeenAt":"2026-04-18T22:06:03.542Z","lastSeenAt":"2026-04-22T12:54:42.037Z"}],"details":{"listingId":"53f6cd25-3749-45fd-a5ce-9cccbf48e41b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-account-notifications-javascript","github":{"repo":"team-telnyx/ai","stars":167,"topics":["agent-skills","ai","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk","sip","sms","speech-to-text","telephony","telnyx","tts","twilio-migration","voice-agents","voice-ai","webrtc","windsurf"],"license":"mit","html_url":"https://github.com/team-telnyx/ai","pushed_at":"2026-04-21T22:09:49Z","description":"Official one-stop shop for AI Agents and developers building with Telnyx.","skill_md_sha":"96176f6a6c3acb3421f14e3fd03b06b054506a64","skill_md_path":"skills/telnyx-account-notifications-javascript/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-account-notifications-javascript"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-account-notifications-javascript","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-account-notifications-javascript"},"updatedAt":"2026-04-22T12:54:42.037Z"}}