{"id":"406dbd60-eda1-4404-b6ea-de96d1489513","shortId":"Ys8Hay","kind":"skill","title":"telnyx-messaging-profiles-ruby","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Messaging Profiles - 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 messaging profiles\n\n`GET /messaging_profiles`\n\n```ruby\npage = client.messaging_profiles.list\n\nputs(page)\n```\n\nReturns: `ai_assistant_id` (string | null), `alpha_sender` (string | null), `created_at` (date-time), `daily_spend_limit` (string), `daily_spend_limit_enabled` (boolean), `enabled` (boolean), `health_webhook_url` (url), `id` (uuid), `mms_fall_back_to_sms` (boolean), `mms_transcoding` (boolean), `mobile_only` (boolean), `name` (string), `number_pool_settings` (object | null), `organization_id` (string), `record_type` (enum: messaging_profile), `redaction_enabled` (boolean), `redaction_level` (integer), `resource_group_id` (string | null), `smart_encoding` (boolean), `updated_at` (date-time), `url_shortener_settings` (object | null), `v1_secret` (string), `webhook_api_version` (enum: 1, 2, 2010-04-01), `webhook_failover_url` (url), `webhook_url` (url), `whitelisted_destinations` (array[string])\n\n## Create a messaging profile\n\n`POST /messaging_profiles` — Required: `name`, `whitelisted_destinations`\n\nOptional: `ai_assistant_id` (string | null), `alpha_sender` (string | null), `daily_spend_limit` (string), `daily_spend_limit_enabled` (boolean), `enabled` (boolean), `health_webhook_url` (url), `mms_fall_back_to_sms` (boolean), `mms_transcoding` (boolean), `mobile_only` (boolean), `number_pool_settings` (object | null), `resource_group_id` (string | null), `smart_encoding` (boolean), `url_shortener_settings` (object | null), `webhook_api_version` (enum: 1, 2, 2010-04-01), `webhook_failover_url` (url), `webhook_url` (url)\n\n```ruby\nmessaging_profile = client.messaging_profiles.create(name: \"My name\", whitelisted_destinations: [\"US\"])\n\nputs(messaging_profile)\n```\n\nReturns: `ai_assistant_id` (string | null), `alpha_sender` (string | null), `created_at` (date-time), `daily_spend_limit` (string), `daily_spend_limit_enabled` (boolean), `enabled` (boolean), `health_webhook_url` (url), `id` (uuid), `mms_fall_back_to_sms` (boolean), `mms_transcoding` (boolean), `mobile_only` (boolean), `name` (string), `number_pool_settings` (object | null), `organization_id` (string), `record_type` (enum: messaging_profile), `redaction_enabled` (boolean), `redaction_level` (integer), `resource_group_id` (string | null), `smart_encoding` (boolean), `updated_at` (date-time), `url_shortener_settings` (object | null), `v1_secret` (string), `webhook_api_version` (enum: 1, 2, 2010-04-01), `webhook_failover_url` (url), `webhook_url` (url), `whitelisted_destinations` (array[string])\n\n## Retrieve a messaging profile\n\n`GET /messaging_profiles/{id}`\n\n```ruby\nmessaging_profile = client.messaging_profiles.retrieve(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(messaging_profile)\n```\n\nReturns: `ai_assistant_id` (string | null), `alpha_sender` (string | null), `created_at` (date-time), `daily_spend_limit` (string), `daily_spend_limit_enabled` (boolean), `enabled` (boolean), `health_webhook_url` (url), `id` (uuid), `mms_fall_back_to_sms` (boolean), `mms_transcoding` (boolean), `mobile_only` (boolean), `name` (string), `number_pool_settings` (object | null), `organization_id` (string), `record_type` (enum: messaging_profile), `redaction_enabled` (boolean), `redaction_level` (integer), `resource_group_id` (string | null), `smart_encoding` (boolean), `updated_at` (date-time), `url_shortener_settings` (object | null), `v1_secret` (string), `webhook_api_version` (enum: 1, 2, 2010-04-01), `webhook_failover_url` (url), `webhook_url` (url), `whitelisted_destinations` (array[string])\n\n## Update a messaging profile\n\n`PATCH /messaging_profiles/{id}`\n\nOptional: `alpha_sender` (string | null), `created_at` (date-time), `daily_spend_limit` (string), `daily_spend_limit_enabled` (boolean), `enabled` (boolean), `id` (uuid), `mms_fall_back_to_sms` (boolean), `mms_transcoding` (boolean), `mobile_only` (boolean), `name` (string), `number_pool_settings` (object | null), `record_type` (enum: messaging_profile), `smart_encoding` (boolean), `updated_at` (date-time), `url_shortener_settings` (object | null), `v1_secret` (string), `webhook_api_version` (enum: 1, 2, 2010-04-01), `webhook_failover_url` (url), `webhook_url` (url), `whitelisted_destinations` (array[string])\n\n```ruby\nmessaging_profile = client.messaging_profiles.update(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(messaging_profile)\n```\n\nReturns: `ai_assistant_id` (string | null), `alpha_sender` (string | null), `created_at` (date-time), `daily_spend_limit` (string), `daily_spend_limit_enabled` (boolean), `enabled` (boolean), `health_webhook_url` (url), `id` (uuid), `mms_fall_back_to_sms` (boolean), `mms_transcoding` (boolean), `mobile_only` (boolean), `name` (string), `number_pool_settings` (object | null), `organization_id` (string), `record_type` (enum: messaging_profile), `redaction_enabled` (boolean), `redaction_level` (integer), `resource_group_id` (string | null), `smart_encoding` (boolean), `updated_at` (date-time), `url_shortener_settings` (object | null), `v1_secret` (string), `webhook_api_version` (enum: 1, 2, 2010-04-01), `webhook_failover_url` (url), `webhook_url` (url), `whitelisted_destinations` (array[string])\n\n## Delete a messaging profile\n\n`DELETE /messaging_profiles/{id}`\n\n```ruby\nmessaging_profile = client.messaging_profiles.delete(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(messaging_profile)\n```\n\nReturns: `ai_assistant_id` (string | null), `alpha_sender` (string | null), `created_at` (date-time), `daily_spend_limit` (string), `daily_spend_limit_enabled` (boolean), `enabled` (boolean), `health_webhook_url` (url), `id` (uuid), `mms_fall_back_to_sms` (boolean), `mms_transcoding` (boolean), `mobile_only` (boolean), `name` (string), `number_pool_settings` (object | null), `organization_id` (string), `record_type` (enum: messaging_profile), `redaction_enabled` (boolean), `redaction_level` (integer), `resource_group_id` (string | null), `smart_encoding` (boolean), `updated_at` (date-time), `url_shortener_settings` (object | null), `v1_secret` (string), `webhook_api_version` (enum: 1, 2, 2010-04-01), `webhook_failover_url` (url), `webhook_url` (url), `whitelisted_destinations` (array[string])\n\n## List phone numbers associated with a messaging profile\n\n`GET /messaging_profiles/{id}/phone_numbers`\n\n```ruby\npage = client.messaging_profiles.list_phone_numbers(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(page)\n```\n\nReturns: `country_code` (string), `created_at` (date-time), `eligible_messaging_products` (array[string]), `features` (object), `health` (object), `id` (string), `messaging_product` (string), `messaging_profile_id` (string | null), `organization_id` (string), `phone_number` (string), `record_type` (enum: messaging_phone_number, messaging_settings), `tags` (array[string]), `traffic_type` (string), `type` (enum: long-code, toll-free, short-code, longcode, tollfree, shortcode), `updated_at` (date-time)\n\n## List short codes associated with a messaging profile\n\n`GET /messaging_profiles/{id}/short_codes`\n\n```ruby\npage = client.messaging_profiles.list_short_codes(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(page)\n```\n\nReturns: `country_code` (string), `created_at` (date-time), `id` (uuid), `messaging_profile_id` (string | null), `record_type` (enum: short_code), `short_code` (string), `tags` (array), `updated_at` (date-time)\n\n## List short codes\n\n`GET /short_codes`\n\n```ruby\npage = client.short_codes.list\n\nputs(page)\n```\n\nReturns: `country_code` (string), `created_at` (date-time), `id` (uuid), `messaging_profile_id` (string | null), `record_type` (enum: short_code), `short_code` (string), `tags` (array), `updated_at` (date-time)\n\n## Retrieve a short code\n\n`GET /short_codes/{id}`\n\n```ruby\nshort_code = client.short_codes.retrieve(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(short_code)\n```\n\nReturns: `country_code` (string), `created_at` (date-time), `id` (uuid), `messaging_profile_id` (string | null), `record_type` (enum: short_code), `short_code` (string), `tags` (array), `updated_at` (date-time)\n\n## Update short code\n\nUpdate the settings for a specific short code. To unbind a short code from a profile, set the `messaging_profile_id` to `null` or an empty string. To add or update tags, include the tags field as an array of strings.\n\n`PATCH /short_codes/{id}` — Required: `messaging_profile_id`\n\nOptional: `tags` (array)\n\n```ruby\nshort_code = client.short_codes.update(\n  \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n  messaging_profile_id: \"abc85f64-5717-4562-b3fc-2c9600000000\"\n)\n\nputs(short_code)\n```\n\nReturns: `country_code` (string), `created_at` (date-time), `id` (uuid), `messaging_profile_id` (string | null), `record_type` (enum: short_code), `short_code` (string), `tags` (array), `updated_at` (date-time)","tags":["telnyx","messaging","profiles","ruby","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm"],"capabilities":["skill","source-team-telnyx","skill-telnyx-messaging-profiles-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-messaging-profiles-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 (10,121 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-22T06:54:39.900Z","embedding":null,"createdAt":"2026-04-18T22:06:49.560Z","updatedAt":"2026-04-22T06:54:39.900Z","lastSeenAt":"2026-04-22T06:54:39.900Z","tsv":"'+13125550001':78 '+13125550002':80 '-01':287,372,487,613,703,822,948 '-04':286,371,486,612,702,821,947 '-4562':1269 '-5717':1268 '/messaging_profiles':187,304,504,630,839,969,1061 '/phone_numbers':971 '/short_codes':1063,1112,1154,1245 '1':108,283,368,483,609,699,818,944 '182bd5e5':511,720,846,978,1070,1161,1259 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':510,719,845,977,1069,1160,1258 '2':284,369,484,610,700,819,945 '2010':285,370,485,611,701,820,946 '2c9600000000':1272 '401':66,143 '403':147 '404':150 '422':62,129,154 '429':59,98,160 '4fe4':513,722,848,980,1072,1163,1261 '6e1a':512,721,847,979,1071,1162,1260 'a799':514,723,849,981,1073,1164,1262 'aa6d9a6ab26e':515,724,850,982,1074,1165,1263 'abc85f64':1267 'actual':115 'add':1231 'ai':194,310,394,520,729,855 'alpha':199,315,399,525,633,734,860 'alreadi':42 'alway':67 'api':22,26,50,123,145,280,365,480,606,696,815,941 'apiconnectionerror':86 'apistatuserror':120 'array':297,497,623,713,832,958,997,1028,1102,1143,1194,1241,1253,1301 'assist':195,311,395,521,730,856 'associ':963,1055 'assum':39 'authent':64 'auto':171 'automat':175 'b3fc':1271 'b3fc-2c9600000000':1270 'back':227,336,427,553,657,762,888 'backoff':106,166 'bash':11 'begin':74 'boolean':216,218,230,233,236,254,265,327,329,339,342,345,358,416,418,430,433,436,454,465,542,544,556,559,562,580,591,650,652,660,663,666,681,751,753,765,768,771,789,800,877,879,891,894,897,915,926 'call':51 'check':90,109,133,157 'client':19,40 'client.messages.send':76 'client.messaging_profiles.create':383 'client.messaging_profiles.delete':844 'client.messaging_profiles.list':190,974,1066 'client.messaging_profiles.retrieve':509 'client.messaging_profiles.update':718 'client.new':21 'client.short_codes.list':1115 'client.short_codes.retrieve':1159 'client.short_codes.update':1257 'code':72,142,987,1037,1043,1054,1068,1079,1097,1099,1110,1120,1138,1140,1152,1158,1168,1171,1189,1191,1202,1210,1215,1256,1275,1278,1296,1298 'common':140 'connect':91 'countri':986,1078,1119,1170,1277 'creat':203,299,403,529,637,738,864,989,1081,1122,1173,1280 'daili':208,212,319,323,408,412,534,538,642,646,743,747,869,873 'date':206,269,406,469,532,595,640,685,741,804,867,930,992,1050,1084,1106,1125,1147,1176,1198,1283,1305 'date-tim':205,268,405,468,531,594,639,684,740,803,866,929,991,1049,1083,1105,1124,1146,1175,1197,1282,1304 'default':31 'delay':116 'delet':834,838 'destin':296,308,388,496,622,712,831,957 'e':121 'e.message':126 'e.status':125,128 'elig':994 'empti':1228 'enabl':215,217,253,326,328,415,417,453,541,543,579,649,651,750,752,788,876,878,914 'encod':264,357,464,590,680,799,925 'end':138,139 'enum':249,282,367,449,482,575,608,676,698,784,817,910,943,1021,1034,1095,1136,1187,1294 'env':24 'error':47,56,61,65,69,85,89,96,119,124,132,141,156 'exampl':37 'exponenti':105,165 'fail':53 'failov':289,374,489,615,705,824,950 'fall':226,335,426,552,656,761,887 'featur':999 'field':135,158,1238 'format':137,159 'found':153 'free':1040 'gem':12 'get':186,503,968,1060,1111,1153 'group':259,352,459,585,794,920 'handl':48,68 'header':113 'health':219,330,419,545,754,880,1001 'hello':82 'id':196,223,245,260,312,353,396,423,445,460,505,522,549,571,586,631,653,731,758,780,795,840,857,884,906,921,970,1003,1010,1014,1062,1086,1090,1127,1131,1155,1178,1182,1223,1246,1250,1266,1285,1289 'import':167 'includ':1235 'initi':43 'instal':10,13 'insuffici':148 'integ':257,457,583,792,918 'invalid':144 'item':180 'item.id':182 'iter':176 'key':23,27,146 'level':256,456,582,791,917 'limit':58,100,162,210,214,321,325,410,414,536,540,644,648,745,749,871,875 'list':183,960,1052,1108 'long':1036 'long-cod':1035 'longcod':1044 'messag':3,7,184,250,301,381,391,450,501,507,517,576,627,677,716,726,785,836,842,852,911,966,995,1005,1008,1022,1025,1058,1088,1129,1180,1221,1248,1264,1287 'mms':225,231,334,340,425,431,551,557,655,661,760,766,886,892 'mobil':234,343,434,560,664,769,895 'name':237,306,384,386,437,563,667,772,898 'network':55,88 'note':168 'null':198,202,243,262,275,314,318,350,355,363,398,402,443,462,475,524,528,569,588,601,636,673,691,733,737,778,797,810,859,863,904,923,936,1012,1092,1133,1184,1225,1291 'number':239,346,439,565,669,774,900,962,976,1017,1024 'object':242,274,349,362,442,474,568,600,672,690,777,809,903,935,1000,1002 'omit':35 'option':309,632,1251 'organ':244,444,570,779,905,1013 'page':172,178,189,192,973,984,1065,1076,1114,1117 'page.auto':177 'pagin':169 'patch':629,1244 'permiss':149 'phone':961,975,1016,1023 'pool':240,347,440,566,670,775,901 'post':303 'product':71,996,1006 'profil':4,8,185,251,302,382,392,451,502,508,518,577,628,678,717,727,786,837,843,853,912,967,1009,1059,1089,1130,1181,1218,1222,1249,1265,1288 'put':87,122,130,181,191,390,516,725,851,983,1075,1116,1166,1273 'rate':57,99,161 'ratelimiterror':97 'record':247,447,573,674,782,908,1019,1093,1134,1185,1292 'redact':252,255,452,455,578,581,787,790,913,916 'requir':17,134,305,1247 'rescu':83,94,117 'resourc':151,258,351,458,584,793,919 'result':75 'retri':93,103,111,163 'retriev':499,1149 'retry-aft':110 'return':193,393,519,728,854,985,1077,1118,1169,1276 'rubi':5,9,16,73,188,380,506,715,841,972,1064,1113,1156,1254 'secret':277,477,603,693,812,938 'sender':200,316,400,526,634,735,861 'set':241,273,348,361,441,473,567,599,671,689,776,808,902,934,1026,1205,1219 'setup':15 'short':1042,1053,1067,1096,1098,1109,1137,1139,1151,1157,1167,1188,1190,1201,1209,1214,1255,1274,1295,1297 'short-cod':1041 'shortcod':1046 'shorten':272,360,472,598,688,807,933 'shown':45 'skill' 'skill-telnyx-messaging-profiles-ruby' 'sleep':107 'smart':263,356,463,589,679,798,924 'sms':229,338,429,555,659,764,890 'source-team-telnyx' 'specif':1208 'spend':209,213,320,324,409,413,535,539,643,647,744,748,870,874 'string':197,201,211,238,246,261,278,298,313,317,322,354,397,401,411,438,446,461,478,498,523,527,537,564,572,587,604,624,635,645,668,694,714,732,736,746,773,781,796,813,833,858,862,872,899,907,922,939,959,988,998,1004,1007,1011,1015,1018,1029,1032,1080,1091,1100,1121,1132,1141,1172,1183,1192,1229,1243,1279,1290,1299 'tag':1027,1101,1142,1193,1234,1237,1252,1300 'telnyx':2,6,14,18,20,25,84,95,118 'telnyx-messaging-profiles-rubi':1 'text':81 'time':207,270,407,470,533,596,641,686,742,805,868,931,993,1051,1085,1107,1126,1148,1177,1199,1284,1306 'toll':1039 'toll-fre':1038 'tollfre':1045 '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' 'traffic':1030 'transcod':232,341,432,558,662,767,893 'type':248,448,574,675,783,909,1020,1031,1033,1094,1135,1186,1293 'unbind':1212 'updat':266,466,592,625,682,801,927,1047,1103,1144,1195,1200,1203,1233,1302 'url':221,222,271,290,291,293,294,332,333,359,375,376,378,379,421,422,471,490,491,493,494,547,548,597,616,617,619,620,687,706,707,709,710,756,757,806,825,826,828,829,882,883,932,951,952,954,955 'us':389 'use':170 'uuid':224,424,550,654,759,885,1087,1128,1179,1286 'v1':276,476,602,692,811,937 'valid':60,131,155 'version':281,366,481,607,697,816,942 'wait':101 'webhook':220,279,288,292,331,364,373,377,420,479,488,492,546,605,614,618,695,704,708,755,814,823,827,881,940,949,953 'whitelist':295,307,387,495,621,711,830,956","prices":[{"id":"372b1b7e-0166-44b3-8c9c-faa491e0ffbc","listingId":"406dbd60-eda1-4404-b6ea-de96d1489513","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:49.560Z"}],"sources":[{"listingId":"406dbd60-eda1-4404-b6ea-de96d1489513","source":"github","sourceId":"team-telnyx/ai/telnyx-messaging-profiles-ruby","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-messaging-profiles-ruby","isPrimary":false,"firstSeenAt":"2026-04-18T22:06:49.560Z","lastSeenAt":"2026-04-22T06:54:39.900Z"}],"details":{"listingId":"406dbd60-eda1-4404-b6ea-de96d1489513","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-messaging-profiles-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":"662ec05a60d3fadd1c98a28d1e56ca15a2f22019","skill_md_path":"skills/telnyx-messaging-profiles-ruby/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-messaging-profiles-ruby"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-messaging-profiles-ruby","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-messaging-profiles-ruby"},"updatedAt":"2026-04-22T06:54:39.900Z"}}