{"id":"20ea5199-ffc6-42b5-879e-fd1b796a5599","shortId":"fw3Gx6","kind":"skill","title":"telnyx-account-access-ruby","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Account Access - 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 all Access IP Addresses\n\n`GET /access_ip_address`\n\n```ruby\npage = client.access_ip_address.list\n\nputs(page)\n```\n\nReturns: `created_at` (date-time), `description` (string), `id` (string), `ip_address` (string), `source` (string), `status` (enum: pending, added), `updated_at` (date-time), `user_id` (string)\n\n## Create new Access IP Address\n\n`POST /access_ip_address` — Required: `ip_address`\n\nOptional: `description` (string)\n\n```ruby\naccess_ip_address_response = client.access_ip_address.create(ip_address: \"203.0.113.10\")\n\nputs(access_ip_address_response)\n```\n\nReturns: `created_at` (date-time), `description` (string), `id` (string), `ip_address` (string), `source` (string), `status` (enum: pending, added), `updated_at` (date-time), `user_id` (string)\n\n## Retrieve an access IP address\n\n`GET /access_ip_address/{access_ip_address_id}`\n\n```ruby\naccess_ip_address_response = client.access_ip_address.retrieve(\"access_ip_address_id\")\n\nputs(access_ip_address_response)\n```\n\nReturns: `created_at` (date-time), `description` (string), `id` (string), `ip_address` (string), `source` (string), `status` (enum: pending, added), `updated_at` (date-time), `user_id` (string)\n\n## Delete access IP address\n\n`DELETE /access_ip_address/{access_ip_address_id}`\n\n```ruby\naccess_ip_address_response = client.access_ip_address.delete(\"access_ip_address_id\")\n\nputs(access_ip_address_response)\n```\n\nReturns: `created_at` (date-time), `description` (string), `id` (string), `ip_address` (string), `source` (string), `status` (enum: pending, added), `updated_at` (date-time), `user_id` (string)\n\n## List all addresses\n\nReturns a list of your addresses.\n\n`GET /addresses`\n\n```ruby\npage = client.addresses.list\n\nputs(page)\n```\n\nReturns: `address_book` (boolean), `administrative_area` (string), `borough` (string), `business_name` (string), `country_code` (string), `created_at` (string), `customer_reference` (string), `extended_address` (string), `first_name` (string), `id` (string), `last_name` (string), `locality` (string), `neighborhood` (string), `phone_number` (string), `postal_code` (string), `record_type` (string), `street_address` (string), `updated_at` (string), `validate_address` (boolean)\n\n## Creates an address\n\nCreates an address.\n\n`POST /addresses` — Required: `first_name`, `last_name`, `business_name`, `street_address`, `locality`, `country_code`\n\nOptional: `address_book` (boolean), `administrative_area` (string), `borough` (string), `customer_reference` (string), `extended_address` (string), `neighborhood` (string), `phone_number` (string), `postal_code` (string), `validate_address` (boolean)\n\n```ruby\naddress = client.addresses.create(\n  business_name: \"Toy-O'Kon\",\n  country_code: \"US\",\n  first_name: \"Alfred\",\n  last_name: \"Foster\",\n  locality: \"Austin\",\n  street_address: \"600 Congress Avenue\"\n)\n\nputs(address)\n```\n\nReturns: `address_book` (boolean), `administrative_area` (string), `borough` (string), `business_name` (string), `country_code` (string), `created_at` (string), `customer_reference` (string), `extended_address` (string), `first_name` (string), `id` (string), `last_name` (string), `locality` (string), `neighborhood` (string), `phone_number` (string), `postal_code` (string), `record_type` (string), `street_address` (string), `updated_at` (string), `validate_address` (boolean)\n\n## Validate an address\n\nValidates an address for emergency services.\n\n`POST /addresses/actions/validate` — Required: `country_code`, `street_address`, `postal_code`\n\nOptional: `administrative_area` (string), `extended_address` (string), `locality` (string)\n\n```ruby\nresponse = client.addresses.actions.validate(\n  country_code: \"US\",\n  postal_code: \"78701\",\n  street_address: \"600 Congress Avenue\"\n)\n\nputs(response)\n```\n\nReturns: `errors` (array[object]), `record_type` (string), `result` (enum: valid, invalid), `suggested` (object)\n\n## Retrieve an address\n\nRetrieves the details of an existing address.\n\n`GET /addresses/{id}`\n\n```ruby\naddress = client.addresses.retrieve(\"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(address)\n```\n\nReturns: `address_book` (boolean), `administrative_area` (string), `borough` (string), `business_name` (string), `country_code` (string), `created_at` (string), `customer_reference` (string), `extended_address` (string), `first_name` (string), `id` (string), `last_name` (string), `locality` (string), `neighborhood` (string), `phone_number` (string), `postal_code` (string), `record_type` (string), `street_address` (string), `updated_at` (string), `validate_address` (boolean)\n\n## Deletes an address\n\nDeletes an existing address.\n\n`DELETE /addresses/{id}`\n\n```ruby\naddress = client.addresses.delete(\"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(address)\n```\n\nReturns: `address_book` (boolean), `administrative_area` (string), `borough` (string), `business_name` (string), `country_code` (string), `created_at` (string), `customer_reference` (string), `extended_address` (string), `first_name` (string), `id` (string), `last_name` (string), `locality` (string), `neighborhood` (string), `phone_number` (string), `postal_code` (string), `record_type` (string), `street_address` (string), `updated_at` (string), `validate_address` (boolean)\n\n## Accepts this address suggestion as a new emergency address for Operator Connect and finishes the uploads of the numbers associated with it to Microsoft.\n\n`POST /addresses/{id}/actions/accept_suggestions`\n\nOptional: `id` (string)\n\n```ruby\nresponse = client.addresses.actions.accept_suggestions(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(response)\n```\n\nReturns: `accepted` (boolean), `id` (uuid), `record_type` (enum: address_suggestion)\n\n## List all SSO authentication providers\n\nReturns a list of your SSO authentication providers.\n\n`GET /authentication_providers`\n\n```ruby\npage = client.authentication_providers.list\n\nputs(page)\n```\n\nReturns: `activated_at` (date-time), `active` (boolean), `created_at` (date-time), `id` (uuid), `name` (string), `organization_id` (uuid), `record_type` (string), `settings` (object), `short_name` (string), `updated_at` (date-time)\n\n## Creates an authentication provider\n\nCreates an authentication provider.\n\n`POST /authentication_providers` — Required: `name`, `short_name`, `settings`\n\nOptional: `active` (boolean), `settings_url` (uri)\n\n```ruby\nauthentication_provider = client.authentication_providers.create(\n  name: \"Okta\",\n  settings: {\n    idp_cert_fingerprint: \"13:38:C7:BB:C9:FF:4A:70:38:3A:E3:D9:5C:CD:DB:2E:50:1E:80:A7\",\n    idp_entity_id: \"https://myorg.myidp.com/saml/metadata\",\n    idp_sso_target_url: \"https://myorg.myidp.com/trust/saml2/http-post/sso\"\n  },\n  short_name: \"myorg\"\n)\n\nputs(authentication_provider)\n```\n\nReturns: `activated_at` (date-time), `active` (boolean), `created_at` (date-time), `id` (uuid), `name` (string), `organization_id` (uuid), `record_type` (string), `settings` (object), `short_name` (string), `updated_at` (date-time)\n\n## Retrieve an authentication provider\n\nRetrieves the details of an existing authentication provider.\n\n`GET /authentication_providers/{id}`\n\n```ruby\nauthentication_provider = client.authentication_providers.retrieve(\"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(authentication_provider)\n```\n\nReturns: `activated_at` (date-time), `active` (boolean), `created_at` (date-time), `id` (uuid), `name` (string), `organization_id` (uuid), `record_type` (string), `settings` (object), `short_name` (string), `updated_at` (date-time)\n\n## Update an authentication provider\n\nUpdates settings of an existing authentication provider.\n\n`PATCH /authentication_providers/{id}`\n\nOptional: `active` (boolean), `name` (string), `settings` (object), `settings_url` (uri), `short_name` (string)\n\n```ruby\nauthentication_provider = client.authentication_providers.update(\"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(authentication_provider)\n```\n\nReturns: `activated_at` (date-time), `active` (boolean), `created_at` (date-time), `id` (uuid), `name` (string), `organization_id` (uuid), `record_type` (string), `settings` (object), `short_name` (string), `updated_at` (date-time)\n\n## Deletes an authentication provider\n\nDeletes an existing authentication provider.\n\n`DELETE /authentication_providers/{id}`\n\n```ruby\nauthentication_provider = client.authentication_providers.delete(\"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(authentication_provider)\n```\n\nReturns: `activated_at` (date-time), `active` (boolean), `created_at` (date-time), `id` (uuid), `name` (string), `organization_id` (uuid), `record_type` (string), `settings` (object), `short_name` (string), `updated_at` (date-time)\n\n## List all billing groups\n\n`GET /billing_groups`\n\n```ruby\npage = client.billing_groups.list\n\nputs(page)\n```\n\nReturns: `created_at` (date-time), `deleted_at` (date-time), `id` (uuid), `name` (string), `organization_id` (uuid), `record_type` (enum: billing_group), `updated_at` (date-time)\n\n## Create a billing group\n\n`POST /billing_groups`\n\nOptional: `name` (string)\n\n```ruby\nbilling_group = client.billing_groups.create\n\nputs(billing_group)\n```\n\nReturns: `created_at` (date-time), `deleted_at` (date-time), `id` (uuid), `name` (string), `organization_id` (uuid), `record_type` (enum: billing_group), `updated_at` (date-time)\n\n## Get a billing group\n\n`GET /billing_groups/{id}`\n\n```ruby\nbilling_group = client.billing_groups.retrieve(\"f5586561-8ff0-4291-a0ac-84fe544797bd\")\n\nputs(billing_group)\n```\n\nReturns: `created_at` (date-time), `deleted_at` (date-time), `id` (uuid), `name` (string), `organization_id` (uuid), `record_type` (enum: billing_group), `updated_at` (date-time)\n\n## Update a billing group\n\n`PATCH /billing_groups/{id}`\n\nOptional: `name` (string)\n\n```ruby\nbilling_group = client.billing_groups.update(\"f5586561-8ff0-4291-a0ac-84fe544797bd\")\n\nputs(billing_group)\n```\n\nReturns: `created_at` (date-time), `deleted_at` (date-time), `id` (uuid), `name` (string), `organization_id` (uuid), `record_type` (enum: billing_group), `updated_at` (date-time)\n\n## Delete a billing group\n\n`DELETE /billing_groups/{id}`\n\n```ruby\nbilling_group = client.billing_groups.delete(\"f5586561-8ff0-4291-a0ac-84fe544797bd\")\n\nputs(billing_group)\n```\n\nReturns: `created_at` (date-time), `deleted_at` (date-time), `id` (uuid), `name` (string), `organization_id` (uuid), `record_type` (enum: billing_group), `updated_at` (date-time)\n\n## List integration secrets\n\nRetrieve a list of all integration secrets configured by the user.\n\n`GET /integration_secrets`\n\n```ruby\npage = client.integration_secrets.list\n\nputs(page)\n```\n\nReturns: `created_at` (date-time), `id` (string), `identifier` (string), `record_type` (string), `updated_at` (date-time)\n\n## Create a secret\n\nCreate a new secret with an associated identifier that can be used to securely integrate with other services.\n\n`POST /integration_secrets` — Required: `identifier`, `type`\n\nOptional: `password` (string), `token` (string), `username` (string)\n\n```ruby\nintegration_secret = client.integration_secrets.create(identifier: \"my_secret\", type: :bearer)\n\nputs(integration_secret)\n```\n\nReturns: `created_at` (date-time), `id` (string), `identifier` (string), `record_type` (string), `updated_at` (date-time)\n\n## Delete an integration secret\n\nDelete an integration secret given its ID.\n\n`DELETE /integration_secrets/{id}`\n\n```ruby\nresult = client.integration_secrets.delete(\"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(result)\n```\n\n## Create an Access Token.\n\nCreate an Access Token (JWT) for the credential.\n\n`POST /telephony_credentials/{id}/token`\n\n```ruby\nresponse = client.telephony_credentials.create_token(\"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(response)\n```","tags":["telnyx","account","access","ruby","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm"],"capabilities":["skill","source-team-telnyx","skill-telnyx-account-access-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-access-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 (13,011 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:39.929Z","embedding":null,"createdAt":"2026-04-18T22:05:52.345Z","updatedAt":"2026-04-22T12:54:39.929Z","lastSeenAt":"2026-04-22T12:54:39.929Z","tsv":"'+13125550001':78 '+13125550002':80 '/access_ip_address':189,228,282,334 '/actions/accept_suggestions':814 '/addresses':391,458,645,720,812 '/addresses/actions/validate':588 '/authentication_providers':854,902,1009,1069,1140 '/billing_groups':1193,1232,1276,1325,1377 '/integration_secrets':1436,1482,1535 '/saml/metadata':949 '/telephony_credentials':1561 '/token':1563 '/trust/saml2/http-post/sso':956 '1':108 '13':924 '182bd5e5':823 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':822 '1e':941 '203.0.113.10':243 '2e':939 '38':925,932 '3a':933 '401':66,143 '403':147 '404':150 '41d4':653,728,1018,1091,1149,1543,1571 '422':62,129,154 '429':59,98,160 '4291':1285,1337,1386 '446655440000':655,730,1020,1093,1151,1545,1573 '4a':930 '4fe4':825 '50':940 '550e8400':650,725,1015,1088,1146,1540,1568 '5c':936 '600':519,616 '6e1a':824 '70':931 '78701':613 '80':942 '84fe544797bd':1288,1340,1389 '8ff0':1284,1336,1385 'a0ac':1287,1339,1388 'a0ac-84fe544797bd':1286,1338,1387 'a7':943 'a716':654,729,1019,1092,1150,1544,1572 'a799':826 'aa6d9a6ab26e':827 'accept':787,831 'access':4,8,185,224,236,245,278,283,288,293,298,330,335,340,345,350,1550,1554 'account':3,7 'activ':861,866,909,964,969,1025,1030,1072,1098,1103,1156,1161 'actual':115 'ad':213,267,320,372 'address':187,206,226,231,238,242,247,260,280,285,290,295,300,313,332,337,342,347,352,365,383,389,398,419,443,449,453,456,467,472,484,495,498,518,523,525,546,570,576,580,583,593,601,615,636,643,648,657,659,680,704,710,714,718,723,732,734,755,779,785,789,795,838 'administr':401,475,528,597,662,737 'alfr':511 'alreadi':42 'alway':67 'api':22,26,50,123,145 'apiconnectionerror':86 'apistatuserror':120 'area':402,476,529,598,663,738 'array':623 'associ':806,1469 'assum':39 'austin':516 'authent':64,843,851,895,899,915,961,998,1006,1012,1022,1059,1066,1085,1095,1132,1137,1143,1153 'auto':171 'automat':175 'avenu':521,618 'backoff':106,166 'bash':11 'bb':927 'bearer':1501 'begin':74 'bill':1190,1220,1229,1237,1241,1264,1273,1279,1290,1313,1322,1331,1342,1365,1374,1380,1391,1414 'book':399,473,526,660,735 'boolean':400,450,474,496,527,577,661,711,736,786,832,867,910,970,1031,1073,1104,1162 'borough':404,478,531,665,740 'busi':406,464,500,533,667,742 'c7':926 'c9':928 'call':51 'cd':937 'cert':922 'check':90,109,133,157 'client':19,40 'client.access_ip_address.create':240 'client.access_ip_address.delete':344 'client.access_ip_address.list':192 'client.access_ip_address.retrieve':292 'client.addresses.actions.accept':820 'client.addresses.actions.validate':607 'client.addresses.create':499 'client.addresses.delete':724 'client.addresses.list':394 'client.addresses.retrieve':649 'client.authentication_providers.create':917 'client.authentication_providers.delete':1145 'client.authentication_providers.list':857 'client.authentication_providers.retrieve':1014 'client.authentication_providers.update':1087 'client.billing_groups.create':1239 'client.billing_groups.delete':1382 'client.billing_groups.list':1196 'client.billing_groups.retrieve':1281 'client.billing_groups.update':1333 'client.integration_secrets.create':1496 'client.integration_secrets.delete':1539 'client.integration_secrets.list':1439 'client.messages.send':76 'client.new':21 'client.telephony_credentials.create':1566 'code':72,142,410,437,470,492,507,537,564,591,595,609,612,671,698,746,773 'common':140 'configur':1431 'congress':520,617 'connect':91,798 'countri':409,469,506,536,590,608,670,745 'creat':196,222,250,303,355,412,451,454,539,673,748,868,893,897,971,1032,1105,1163,1200,1227,1244,1293,1345,1394,1443,1460,1463,1506,1548,1552 'credenti':1559 'custom':415,480,542,676,751 'd9':935 'date':199,217,253,271,306,324,358,376,864,871,891,967,974,994,1028,1035,1055,1101,1108,1128,1159,1166,1186,1203,1208,1225,1247,1252,1269,1296,1301,1318,1348,1353,1370,1397,1402,1419,1446,1458,1509,1521 'date-tim':198,216,252,270,305,323,357,375,863,870,890,966,973,993,1027,1034,1054,1100,1107,1127,1158,1165,1185,1202,1207,1224,1246,1251,1268,1295,1300,1317,1347,1352,1369,1396,1401,1418,1445,1457,1508,1520 'db':938 'default':31 'delay':116 'delet':329,333,712,715,719,1130,1134,1139,1205,1249,1298,1350,1372,1376,1399,1523,1527,1534 'descript':201,233,255,308,360 'detail':639,1002 'e':121 'e.message':126 'e.status':125,128 'e29b':652,727,1017,1090,1148,1542,1570 'e29b-41d4-a716':651,726,1016,1089,1147,1541,1569 'e3':934 'emerg':585,794 'end':138,139 'entiti':945 'enum':211,265,318,370,629,837,1219,1263,1312,1364,1413 'env':24 'error':47,56,61,65,69,85,89,96,119,124,132,141,156,622 'exampl':37 'exist':642,717,1005,1065,1136 'exponenti':105,165 'extend':418,483,545,600,679,754 'f5586561':1283,1335,1384 'f5586561-8ff0':1282,1334,1383 'fail':53 'ff':929 'field':135,158 'fingerprint':923 'finish':800 'first':421,460,509,548,682,757 'format':137,159 'foster':514 'found':153 'gem':12 'get':188,281,390,644,853,1008,1192,1271,1275,1435 'given':1531 'group':1191,1221,1230,1238,1242,1265,1274,1280,1291,1314,1323,1332,1343,1366,1375,1381,1392,1415 'handl':48,68 'header':113 'hello':82 'id':203,220,257,274,286,296,310,327,338,348,362,379,424,551,646,685,721,760,813,816,833,873,878,946,976,981,1010,1037,1042,1070,1110,1115,1141,1168,1173,1210,1215,1254,1259,1277,1303,1308,1326,1355,1360,1378,1404,1409,1448,1511,1533,1536,1562 'identifi':1450,1470,1484,1497,1513 'idp':921,944,950 'import':167 'initi':43 'instal':10,13 'insuffici':148 'integr':1422,1429,1477,1494,1503,1525,1529 'invalid':144,631 'ip':186,205,225,230,237,241,246,259,279,284,289,294,299,312,331,336,341,346,351,364 'item':180 'item.id':182 'iter':176 'jwt':1556 'key':23,27,146 'kon':505 'last':426,462,512,553,687,762 'limit':58,100,162 'list':183,381,386,840,847,1188,1421,1426 'local':429,468,515,556,603,690,765 'microsoft':810 'myorg':959 'myorg.myidp.com':948,955 'myorg.myidp.com/saml/metadata':947 'myorg.myidp.com/trust/saml2/http-post/sso':954 'name':407,422,427,461,463,465,501,510,513,534,549,554,668,683,688,743,758,763,875,886,904,906,918,958,978,989,1039,1050,1074,1082,1112,1123,1170,1181,1212,1234,1256,1305,1328,1357,1406 'neighborhood':431,486,558,692,767 'network':55,88 'new':223,793,1465 'note':168 'number':434,489,561,695,770,805 'o':504 'object':624,633,884,987,1048,1077,1121,1179 'okta':919 'omit':35 'oper':797 'option':232,471,596,815,908,1071,1233,1327,1486 'organ':877,980,1041,1114,1172,1214,1258,1307,1359,1408 'page':172,178,191,194,393,396,856,859,1195,1198,1438,1441 'page.auto':177 'pagin':169 'password':1487 'patch':1068,1324 'pend':212,266,319,371 'permiss':149 'phone':433,488,560,694,769 'post':227,457,587,811,901,1231,1481,1560 'postal':436,491,563,594,611,697,772 'product':71 'provid':844,852,896,900,916,962,999,1007,1013,1023,1060,1067,1086,1096,1133,1138,1144,1154 'put':87,122,130,181,193,244,297,349,395,522,619,656,731,828,858,960,1021,1094,1152,1197,1240,1289,1341,1390,1440,1502,1546,1574 'rate':57,99,161 'ratelimiterror':97 'record':439,566,625,700,775,835,880,983,1044,1117,1175,1217,1261,1310,1362,1411,1452,1515 'refer':416,481,543,677,752 'requir':17,134,229,459,589,903,1483 'rescu':83,94,117 'resourc':151 'respons':239,248,291,301,343,353,606,620,819,829,1565,1575 'result':75,628,1538,1547 'retri':93,103,111,163 'retriev':276,634,637,996,1000,1424 'retry-aft':110 'return':195,249,302,354,384,397,524,621,658,733,830,845,860,963,1024,1097,1155,1199,1243,1292,1344,1393,1442,1505 'rubi':5,9,16,73,190,235,287,339,392,497,605,647,722,818,855,914,1011,1084,1142,1194,1236,1278,1330,1379,1437,1493,1537,1564 'secret':1423,1430,1462,1466,1495,1499,1504,1526,1530 'secur':1476 'servic':586,1480 'set':883,907,911,920,986,1047,1062,1076,1078,1120,1178 'setup':15 'short':885,905,957,988,1049,1081,1122,1180 'shown':45 'skill' 'skill-telnyx-account-access-ruby' 'sleep':107 'sourc':208,262,315,367 'source-team-telnyx' 'sso':842,850,951 'status':210,264,317,369 'street':442,466,517,569,592,614,703,778 'string':202,204,207,209,221,234,256,258,261,263,275,309,311,314,316,328,361,363,366,368,380,403,405,408,411,414,417,420,423,425,428,430,432,435,438,441,444,447,477,479,482,485,487,490,493,530,532,535,538,541,544,547,550,552,555,557,559,562,565,568,571,574,599,602,604,627,664,666,669,672,675,678,681,684,686,689,691,693,696,699,702,705,708,739,741,744,747,750,753,756,759,761,764,766,768,771,774,777,780,783,817,876,882,887,979,985,990,1040,1046,1051,1075,1083,1113,1119,1124,1171,1177,1182,1213,1235,1257,1306,1329,1358,1407,1449,1451,1454,1488,1490,1492,1512,1514,1517 'suggest':632,790,821,839 'target':952 'telnyx':2,6,14,18,20,25,84,95,118 'telnyx-account-access-rubi':1 'text':81 'time':200,218,254,272,307,325,359,377,865,872,892,968,975,995,1029,1036,1056,1102,1109,1129,1160,1167,1187,1204,1209,1226,1248,1253,1270,1297,1302,1319,1349,1354,1371,1398,1403,1420,1447,1459,1510,1522 'token':1489,1551,1555,1567 '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' 'toy':503 'toy-o':502 'type':440,567,626,701,776,836,881,984,1045,1118,1176,1218,1262,1311,1363,1412,1453,1485,1500,1516 'updat':214,268,321,373,445,572,706,781,888,991,1052,1057,1061,1125,1183,1222,1266,1315,1320,1367,1416,1455,1518 'upload':802 'uri':913,1080 'url':912,953,1079 'us':508,610 'use':170,1474 'user':219,273,326,378,1434 'usernam':1491 'uuid':834,874,879,977,982,1038,1043,1111,1116,1169,1174,1211,1216,1255,1260,1304,1309,1356,1361,1405,1410 'valid':60,131,155,448,494,575,578,581,630,709,784 'wait':101","prices":[{"id":"bf81f011-9171-4bcb-abe5-43b218a39cc9","listingId":"20ea5199-ffc6-42b5-879e-fd1b796a5599","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:05:52.345Z"}],"sources":[{"listingId":"20ea5199-ffc6-42b5-879e-fd1b796a5599","source":"github","sourceId":"team-telnyx/ai/telnyx-account-access-ruby","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-account-access-ruby","isPrimary":false,"firstSeenAt":"2026-04-18T22:05:52.345Z","lastSeenAt":"2026-04-22T12:54:39.929Z"}],"details":{"listingId":"20ea5199-ffc6-42b5-879e-fd1b796a5599","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-account-access-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":"3dc1c156a11e17f57496d80f3f729b34ba720f89","skill_md_path":"skills/telnyx-account-access-ruby/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-account-access-ruby"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-account-access-ruby","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-account-access-ruby"},"updatedAt":"2026-04-22T12:54:39.929Z"}}