{"id":"189d7363-cbd7-4d1f-b991-08341d8852d1","shortId":"4DY7wt","kind":"skill","title":"telnyx-account-notifications-ruby","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Account Notifications - Ruby\n\n## Installation\n\n```bash\ngem install telnyx\n```\n\n## Setup\n\n```ruby\nrequire \"telnyx\"\n\nclient = Telnyx::Client.new(\n  api_key: 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```ruby\nbegin\n  result = client.messages.send_(to: \"+13125550001\", from: \"+13125550002\", text: \"Hello\")\nrescue Telnyx::Errors::APIConnectionError\n  puts \"Network error — check connectivity and retry\"\nrescue Telnyx::Errors::RateLimitError\n  # 429: rate limited — wait and retry with exponential backoff\n  sleep(1) # Check Retry-After header for actual delay\nrescue Telnyx::Errors::APIStatusError => e\n  puts \"API error #{e.status}: #{e.message}\"\n  if e.status == 422\n    puts \"Validation error — check required fields and formats\"\n  end\nend\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:** Use `.auto_paging_each` for automatic iteration: `page.auto_paging_each { |item| puts item.id }`.\n\n## List notification channels\n\nList notification channels.\n\n`GET /notification_channels`\n\n```ruby\npage = client.notification_channels.list\n\nputs(page)\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```ruby\nnotification_channel = client.notification_channels.create(channel_type_id: \"webhook\", channel_destination: \"https://example.com/webhooks\")\nputs(notification_channel)\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```ruby\nnotification_channel = client.notification_channels.retrieve(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(notification_channel)\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```ruby\nnotification_channel = client.notification_channels.update(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(notification_channel)\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```ruby\nnotification_channel = client.notification_channels.delete(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(notification_channel)\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```ruby\npage = client.notification_event_conditions.list\n\nputs(page)\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```ruby\npage = client.notification_events.list\n\nputs(page)\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```ruby\npage = client.notification_profiles.list\n\nputs(page)\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```ruby\nnotification_profile = client.notification_profiles.create(name: \"My Notification Profile\")\nputs(notification_profile)\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```ruby\nnotification_profile = client.notification_profiles.retrieve(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(notification_profile)\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```ruby\nnotification_profile = client.notification_profiles.update(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(notification_profile)\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```ruby\nnotification_profile = client.notification_profiles.delete(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(notification_profile)\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```ruby\npage = client.notification_settings.list\n\nputs(page)\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```ruby\nnotification_setting = client.notification_settings.create\n\nputs(notification_setting)\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```ruby\nnotification_setting = client.notification_settings.retrieve(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(notification_setting)\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```ruby\nnotification_setting = client.notification_settings.delete(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(notification_setting)\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","ruby","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm"],"capabilities":["skill","source-team-telnyx","skill-telnyx-account-notifications-ruby","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-ruby","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 (9,665 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.414Z","embedding":null,"createdAt":"2026-04-18T22:06:05.201Z","updatedAt":"2026-04-22T12:54:42.414Z","lastSeenAt":"2026-04-22T12:54:42.414Z","tsv":"'+13125550001':78 '+13125550002':80 '/notification_channels':190,233,315,367,447 '/notification_event_conditions':504 '/notification_events':565 '/notification_profiles':603,633,684,723,777 '/notification_settings':814,889,1026,1110 '/webhooks':274 '1':108 '182bd5e5':322,402,454,691,745,784,1033,1117 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':321,401,453,690,744,783,1032,1116 '401':66,143 '403':147 '404':150 '422':62,129,154 '429':59,98,160 '4fe4':324,404,456,693,747,786,1035,1119 '6e1a':323,403,455,692,746,785,1034,1118 'a799':325,405,457,694,748,787,1036,1120 'aa6d9a6ab26e':326,406,458,695,749,788,1037,1121 'account':3,7,519 'actual':115 'add':880,884 'allow':511 'alreadi':42 'alway':67 'api':22,26,50,123,145 'apiconnectionerror':86 'apistatuserror':120 'array':542,546,851,921,988,1072,1156 'associ':515,821,825,891,895,958,962,1042,1046,1126,1130 'assum':39 'asynchron':522 'authent':64 'auto':171 'automat':175 'backoff':106,166 'bash':11 'begin':74 'boolean':514,523,532,578 'call':51 'categori':584 'channel':185,188,197,200,227,231,235,238,264,266,270,277,279,282,309,313,319,329,331,334,361,365,370,373,399,409,411,414,441,445,451,461,463,466,513,545,838,908,975,1059,1143 'check':90,109,133,157 'client':19,40 'client.messages.send':76 'client.new':21 'client.notification_channels.create':265 'client.notification_channels.delete':452 'client.notification_channels.list':193 'client.notification_channels.retrieve':320 'client.notification_channels.update':400 'client.notification_event_conditions.list':507 'client.notification_events.list':568 'client.notification_profiles.create':652 'client.notification_profiles.delete':782 'client.notification_profiles.list':606 'client.notification_profiles.retrieve':689 'client.notification_profiles.update':743 'client.notification_settings.create':953 'client.notification_settings.delete':1115 'client.notification_settings.list':817 'client.notification_settings.retrieve':1031 'code':72,142 'common':140 'condit':494,502,843,913,980,1064,1148 'connect':91 'creat':208,224,228,246,290,342,381,422,474,524,572,610,624,628,635,661,700,726,754,793,830,900,967,1051,1135 'date':211,222,249,260,293,304,345,356,384,395,425,436,477,488,527,551,575,589,613,622,638,647,664,673,703,712,729,738,757,766,796,805,833,878,903,948,970,1015,1054,1099,1138,1183 'date-tim':210,221,248,259,292,303,344,355,383,394,424,435,476,487,526,550,574,588,612,621,637,646,663,672,702,711,728,737,756,765,795,804,832,877,902,947,969,1014,1053,1098,1137,1182 'default':31 'delay':116 'delet':438,442,446,768,772,776,866,869,872,874,936,939,942,944,1003,1006,1009,1011,1087,1090,1093,1095,1101,1105,1109,1171,1174,1177,1179 'delete-pend':868,938,1005,1089,1173 'delete-receiv':865,935,1002,1086,1170 'delete-submit':871,941,1008,1092,1176 'descript':529 'destin':198,236,271,280,332,371,412,464 'e':121 'e.message':126 'e.status':125,128 'email':206,244,288,340,379,420,472 'enabl':531,577,855,857,860,863,925,927,930,933,992,994,997,1000,1076,1078,1081,1084,1160,1162,1165,1168 'enable-pend':859,929,996,1080,1164 'enable-receiv':856,926,993,1077,1161 'enable-submit':862,932,999,1083,1167 'end':138,139 'enum':203,241,285,337,376,417,469,518,854,924,991,1075,1159 'env':24 'error':47,56,61,65,69,85,89,96,119,124,132,141,156 'event':493,501,538,556,563,842,912,979,1063,1147 'exampl':37 'example.com':273 'example.com/webhooks':272 'exponenti':105,165 'fail':53 'field':135,158 'format':137,159 'found':153 'gem':12 'get':189,306,310,314,503,564,602,675,679,683,813,1017,1021,1025 'handl':48,68 'header':113 'hello':82 'id':202,213,217,240,251,255,268,284,295,299,316,336,347,351,368,375,386,390,416,427,431,448,468,479,483,533,539,579,615,640,666,685,705,724,731,759,778,798,835,839,844,848,905,909,914,918,972,976,981,985,1027,1056,1060,1065,1069,1111,1140,1144,1149,1153 'import':167 'initi':43 'instal':10,13 'insuffici':148 'invalid':144 'item':180 'item.id':182 'iter':176 'key':23,27,146 'limit':58,100,162 'list':183,186,490,497,553,559,591,597,807,810 'multipl':512 'name':535,581,617,642,653,668,707,733,761,800 'network':55,88 'note':168 'notif':4,8,184,187,215,226,230,253,263,276,297,308,312,318,328,349,360,364,388,398,408,429,440,444,450,460,481,492,500,537,555,562,583,593,600,626,630,650,655,658,677,681,687,697,716,720,741,751,770,774,780,790,808,811,837,841,846,882,886,907,911,916,951,955,974,978,983,1019,1023,1029,1039,1058,1062,1067,1103,1107,1113,1123,1142,1146,1151 'number':521 'object':543,852,922,989,1073,1157 'omit':35 'option':234,369,634,725,890 'page':172,178,192,195,506,509,567,570,605,608,816,819 'page.auto':177 'pagin':169 'paramet':541,850,920,987,1071,1155 'patch':366,722 'pend':861,870,931,940,998,1007,1082,1091,1166,1175 'permiss':149 'phone':520 'post':232,632,888 'product':71 'profil':216,254,298,350,389,430,482,594,601,627,631,651,656,659,678,682,688,698,717,721,742,752,771,775,781,791,847,917,984,1068,1152 'put':87,122,130,181,194,275,327,407,459,508,569,607,657,696,750,789,818,954,1038,1122 'rate':57,99,161 'ratelimiterror':97 'receiv':858,867,928,937,995,1004,1079,1088,1163,1172 'record':516,822,826,892,896,959,963,1043,1047,1127,1131 'requir':17,134 'rescu':83,94,117 'resourc':151 'result':75 'retri':93,103,111,163 'retry-aft':110 'return':196,278,330,410,462,495,510,557,571,595,609,660,699,753,792,820,957,1041,1125 'rubi':5,9,16,73,191,262,317,397,449,505,566,604,649,686,740,779,815,950,1028,1112 'set':809,812,883,887,952,956,1020,1024,1030,1040,1104,1108,1114,1124 'setup':15 'shown':45 'skill' 'skill-telnyx-account-notifications-ruby' 'sleep':107 'sms':204,242,286,338,377,418,470 'source-team-telnyx' 'status':853,923,990,1074,1158 'string':199,214,218,237,252,256,281,296,300,333,348,352,372,387,391,413,428,432,465,480,484,530,534,536,540,547,580,582,585,616,618,641,643,667,669,706,708,732,734,760,762,799,801,824,829,836,840,845,849,894,899,906,910,915,919,961,966,973,977,982,986,1045,1050,1057,1061,1066,1070,1129,1134,1141,1145,1150,1154 'submit':864,873,934,943,1001,1010,1085,1094,1169,1178 'support':544 'telnyx':2,6,14,18,20,25,84,95,118 'telnyx-account-notifications-rubi':1 'text':81 'time':212,223,250,261,294,305,346,357,385,396,426,437,478,489,528,552,576,590,614,623,639,648,665,674,704,713,730,739,758,767,797,806,834,879,904,949,971,1016,1055,1100,1139,1184 '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' 'type':201,239,267,283,335,374,415,467,517,823,827,893,897,960,964,1044,1048,1128,1132 'updat':219,257,301,353,358,362,392,433,485,548,586,619,644,670,709,714,718,735,763,802,875,945,1012,1096,1180 'use':170 'valid':60,131,155 'valu':828,898,965,1049,1133 'voic':205,243,287,339,378,419,471 'wait':101 'webhook':207,245,269,289,341,380,421,473","prices":[{"id":"40a93457-7d8e-41ba-8151-175d1ce5fe6c","listingId":"189d7363-cbd7-4d1f-b991-08341d8852d1","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:05.201Z"}],"sources":[{"listingId":"189d7363-cbd7-4d1f-b991-08341d8852d1","source":"github","sourceId":"team-telnyx/ai/telnyx-account-notifications-ruby","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-account-notifications-ruby","isPrimary":false,"firstSeenAt":"2026-04-18T22:06:05.201Z","lastSeenAt":"2026-04-22T12:54:42.414Z"}],"details":{"listingId":"189d7363-cbd7-4d1f-b991-08341d8852d1","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-account-notifications-ruby","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":"e7bf2c44d0159678d46e86c22c376969c3bc9618","skill_md_path":"skills/telnyx-account-notifications-ruby/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-account-notifications-ruby"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-account-notifications-ruby","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-account-notifications-ruby"},"updatedAt":"2026-04-22T12:54:42.414Z"}}