{"id":"76bb4dd9-9642-4432-b58d-51d9a481b2f4","shortId":"ckxCkK","kind":"skill","title":"telnyx-texml-ruby","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Texml - 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## Fetch multiple call resources\n\nReturns multiple call resources for an account. This endpoint is eventually consistent.\n\n`GET /texml/Accounts/{account_sid}/Calls`\n\n```ruby\nresponse = client.texml.accounts.calls.retrieve_calls(\"account_sid\")\n\nputs(response)\n```\n\nReturns: `calls` (array[object]), `end` (integer), `first_page_uri` (string), `next_page_uri` (string), `page` (integer), `page_size` (integer), `start` (integer), `uri` (string)\n\n## Initiate an outbound call\n\nInitiate an outbound TeXML call. Telnyx will request TeXML from the XML Request URL configured for the connection in the Mission Control Portal.\n\n`POST /texml/Accounts/{account_sid}/Calls` — Required: `To`, `From`, `ApplicationSid`\n\nOptional: `AsyncAmd` (boolean), `AsyncAmdStatusCallback` (string), `AsyncAmdStatusCallbackMethod` (enum: GET, POST), `CallerId` (string), `CancelPlaybackOnDetectMessageEnd` (boolean), `CancelPlaybackOnMachineDetection` (boolean), `CustomHeaders` (array[object]), `DetectionMode` (enum: Premium, Regular), `FallbackUrl` (string), `MachineDetection` (enum: Enable, Disable, DetectMessageEnd), `MachineDetectionSilenceTimeout` (integer), `MachineDetectionSpeechEndThreshold` (integer), `MachineDetectionSpeechThreshold` (integer), `MachineDetectionTimeout` (integer), `PreferredCodecs` (string), `Record` (boolean), `RecordingChannels` (enum: mono, dual), `RecordingStatusCallback` (string), `RecordingStatusCallbackEvent` (string), `RecordingStatusCallbackMethod` (enum: GET, POST), `RecordingTimeout` (integer), `RecordingTrack` (enum: inbound, outbound, both), `SendRecordingUrl` (boolean), `SipAuthPassword` (string), `SipAuthUsername` (string), `SipRegion` (enum: US, Europe, Canada, Australia, Middle East), `StatusCallback` (string), `StatusCallbackEvent` (enum: initiated, ringing, answered, completed), `StatusCallbackMethod` (enum: GET, POST), `SuperviseCallSid` (string), `SupervisingRole` (enum: barge, whisper, monitor), `Texml` (string), `TimeLimit` (integer), `Timeout` (integer), `Trim` (enum: trim-silence, do-not-trim), `Url` (string), `UrlMethod` (enum: GET, POST)\n\n```ruby\nresponse = client.texml.accounts.calls.calls(\n  \"account_sid\",\n  application_sid: \"example-app-sid\",\n  from: \"+13120001234\",\n  to: \"+13121230000\"\n)\n\nputs(response)\n```\n\nReturns: `from` (string), `status` (string), `to` (string)\n\n## Fetch a call\n\nReturns an individual call identified by its CallSid. This endpoint is eventually consistent.\n\n`GET /texml/Accounts/{account_sid}/Calls/{call_sid}`\n\n```ruby\ncall = client.texml.accounts.calls.retrieve(\"call_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(call)\n```\n\nReturns: `account_sid` (string), `answered_by` (enum: human, machine, not_sure), `caller_name` (string), `date_created` (string), `date_updated` (string), `direction` (enum: inbound, outbound), `duration` (string), `end_time` (string), `from` (string), `from_formatted` (string), `price` (string), `price_unit` (string), `sid` (string), `start_time` (string), `status` (enum: ringing, in-progress, canceled, completed, failed, busy, no-answer), `to` (string), `to_formatted` (string), `uri` (string)\n\n## Update call\n\nUpdate TeXML call. Please note that the keys present in the payload MUST BE formatted in CamelCase as specified in the example.\n\n`POST /texml/Accounts/{account_sid}/Calls/{call_sid}`\n\n```ruby\ncall = client.texml.accounts.calls.update(\"call_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(call)\n```\n\nReturns: `account_sid` (string), `answered_by` (enum: human, machine, not_sure), `caller_name` (string), `date_created` (string), `date_updated` (string), `direction` (enum: inbound, outbound), `duration` (string), `end_time` (string), `from` (string), `from_formatted` (string), `price` (string), `price_unit` (string), `sid` (string), `start_time` (string), `status` (enum: ringing, in-progress, canceled, completed, failed, busy, no-answer), `to` (string), `to_formatted` (string), `uri` (string)\n\n## Fetch recordings for a call\n\nReturns recordings for a call identified by call_sid.\n\n`GET /texml/Accounts/{account_sid}/Calls/{call_sid}/Recordings.json`\n\n```ruby\nresponse = client.texml.accounts.calls.recordings_json.retrieve_recordings_json(\n  \"call_sid\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(response)\n```\n\nReturns: `end` (integer), `first_page_uri` (uri), `next_page_uri` (string), `page` (integer), `page_size` (integer), `previous_page_uri` (uri), `recordings` (array[object]), `start` (integer), `uri` (string)\n\n## Request recording for a call\n\nStarts recording with specified parameters for call identified by call_sid.\n\n`POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Recordings.json`\n\n```ruby\nresponse = client.texml.accounts.calls.recordings_json.recordings_json(\"call_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(response)\n```\n\nReturns: `account_sid` (string), `call_sid` (string), `channels` (enum: 1, 2), `conference_sid` (uuid), `date_created` (date-time), `date_updated` (date-time), `duration` (string | null), `error_code` (string | null), `price` (string | null), `price_unit` (string | null), `sid` (string), `source` (enum: StartCallRecordingAPI, StartConferenceRecordingAPI, OutboundAPI, DialVerb, Conference, RecordVerb, Trunking), `start_time` (date-time), `track` (enum: inbound, outbound, both), `uri` (string)\n\n## Update recording on a call\n\nUpdates recording resource for particular call.\n\n`POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Recordings/{recording_sid}.json`\n\n```ruby\nresponse = client.texml.accounts.calls.recordings.recording_sid_json(\n  \"6a09cdc3-8948-47f0-aa62-74ac943d6c58\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\",\n  call_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(response)\n```\n\nReturns: `account_sid` (string), `call_sid` (string), `channels` (enum: 1, 2), `conference_sid` (uuid), `date_created` (date-time), `date_updated` (date-time), `duration` (string | null), `error_code` (string | null), `price` (string | null), `price_unit` (string | null), `sid` (string), `source` (enum: StartCallRecordingAPI, StartConferenceRecordingAPI, OutboundAPI, DialVerb, Conference, RecordVerb, Trunking), `start_time` (date-time), `track` (enum: inbound, outbound, both), `uri` (string)\n\n## Request siprec session for a call\n\nStarts siprec session with specified parameters for call identified by call_sid.\n\n`POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Siprec.json`\n\n```ruby\nresponse = client.texml.accounts.calls.siprec_json(\"call_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(response)\n```\n\nReturns: `account_sid` (string), `call_sid` (string), `date_created` (string), `date_updated` (string), `error_code` (string), `sid` (string), `start_time` (string), `status` (enum: in-progress, stopped), `track` (enum: both_tracks, inbound_track, outbound_track), `uri` (string)\n\n## Updates siprec session for a call\n\nUpdates siprec session identified by siprec_sid.\n\n`POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Siprec/{siprec_sid}.json`\n\n```ruby\nresponse = client.texml.accounts.calls.siprec.siprec_sid_json(\n  \"siprec_sid\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\",\n  call_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(response)\n```\n\nReturns: `account_sid` (string), `call_sid` (string), `date_updated` (string), `error_code` (string), `sid` (string), `status` (enum: in-progress, stopped), `uri` (string)\n\n## Start streaming media from a call.\n\nStarts streaming media from a call to a specific WebSocket address.\n\n`POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Streams.json`\n\n```ruby\nresponse = client.texml.accounts.calls.streams_json(\"call_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(response)\n```\n\nReturns: `account_sid` (string), `call_sid` (string), `date_updated` (date-time), `name` (string), `sid` (string), `status` (enum: in-progress), `uri` (string)\n\n## Update streaming on a call\n\nUpdates streaming resource for particular call.\n\n`POST /texml/Accounts/{account_sid}/Calls/{call_sid}/Streams/{streaming_sid}.json`\n\n```ruby\nresponse = client.texml.accounts.calls.streams.streaming_sid_json(\n  \"6a09cdc3-8948-47f0-aa62-74ac943d6c58\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\",\n  call_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(response)\n```\n\nReturns: `account_sid` (string), `call_sid` (string), `date_updated` (date-time), `sid` (string), `status` (enum: stopped), `uri` (string)\n\n## List conference resources\n\nLists conference resources.\n\n`GET /texml/Accounts/{account_sid}/Conferences`\n\n```ruby\nresponse = client.texml.accounts.conferences.retrieve_conferences(\"account_sid\")\n\nputs(response)\n```\n\nReturns: `conferences` (array[object]), `end` (integer), `first_page_uri` (string), `next_page_uri` (string), `page` (integer), `page_size` (integer), `start` (integer), `uri` (string)\n\n## Fetch a conference resource\n\nReturns a conference resource.\n\n`GET /texml/Accounts/{account_sid}/Conferences/{conference_sid}`\n\n```ruby\nconference = client.texml.accounts.conferences.retrieve(\"conference_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(conference)\n```\n\nReturns: `account_sid` (string), `api_version` (string), `call_sid_ending_conference` (string), `date_created` (string), `date_updated` (string), `friendly_name` (string), `reason_conference_ended` (enum: participant-with-end-conference-on-exit-left, last-participant-left, conference-ended-via-api, time-exceeded), `region` (string), `sid` (string), `status` (enum: init, in-progress, completed), `subresource_uris` (object), `uri` (string)\n\n## Update a conference resource\n\nUpdates a conference resource.\n\n`POST /texml/Accounts/{account_sid}/Conferences/{conference_sid}`\n\n```ruby\nconference = client.texml.accounts.conferences.update(\"conference_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(conference)\n```\n\nReturns: `account_sid` (string), `api_version` (string), `call_sid_ending_conference` (string), `date_created` (string), `date_updated` (string), `friendly_name` (string), `reason_conference_ended` (enum: participant-with-end-conference-on-exit-left, last-participant-left, conference-ended-via-api, time-exceeded), `region` (string), `sid` (string), `status` (enum: init, in-progress, completed), `subresource_uris` (object), `uri` (string)\n\n## List conference participants\n\nLists conference participants\n\n`GET /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants`\n\n```ruby\nresponse = client.texml.accounts.conferences.participants.retrieve_participants(\n  \"conference_sid\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(response)\n```\n\nReturns: `end` (integer), `first_page_uri` (string), `next_page_uri` (string), `page` (integer), `page_size` (integer), `participants` (array[object]), `start` (integer), `uri` (string)\n\n## Dial a new conference participant\n\nDials a new conference participant\n\n`POST /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants`\n\n```ruby\nresponse = client.texml.accounts.conferences.participants.participants(\"conference_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(response)\n```\n\nReturns: `account_sid` (string), `call_sid` (string), `coaching` (boolean), `coaching_call_sid` (string), `conference_sid` (uuid), `end_conference_on_exit` (boolean), `hold` (boolean), `muted` (boolean), `status` (enum: connecting, connected, completed), `uri` (string)\n\n## Get conference participant resource\n\nGets conference participant resource\n\n`GET /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid_or_participant_label}`\n\n```ruby\nparticipant = client.texml.accounts.conferences.participants.retrieve(\n  \"call_sid_or_participant_label\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\",\n  conference_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(participant)\n```\n\nReturns: `account_sid` (string), `api_version` (string), `call_sid` (string), `call_sid_legacy` (string), `coaching` (boolean), `coaching_call_sid` (string), `coaching_call_sid_legacy` (string), `conference_sid` (uuid), `date_created` (string), `date_updated` (string), `end_conference_on_exit` (boolean), `hold` (boolean), `muted` (boolean), `status` (enum: connecting, connected, completed), `uri` (string)\n\n## Update a conference participant\n\nUpdates a conference participant\n\n`POST /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid_or_participant_label}`\n\n```ruby\nparticipant = client.texml.accounts.conferences.participants.update(\n  \"call_sid_or_participant_label\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\",\n  conference_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(participant)\n```\n\nReturns: `account_sid` (string), `api_version` (string), `call_sid` (string), `call_sid_legacy` (string), `coaching` (boolean), `coaching_call_sid` (string), `coaching_call_sid_legacy` (string), `conference_sid` (uuid), `date_created` (string), `date_updated` (string), `end_conference_on_exit` (boolean), `hold` (boolean), `muted` (boolean), `status` (enum: connecting, connected, completed), `uri` (string)\n\n## Delete a conference participant\n\nDeletes a conference participant\n\n`DELETE /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Participants/{call_sid_or_participant_label}`\n\n```ruby\nresult = client.texml.accounts.conferences.participants.delete(\n  \"call_sid_or_participant_label\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\",\n  conference_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(result)\n```\n\n## List conference recordings\n\nLists conference recordings\n\n`GET /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Recordings`\n\n```ruby\nresponse = client.texml.accounts.conferences.retrieve_recordings(\"conference_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(response)\n```\n\nReturns: `end` (integer), `first_page_uri` (string), `next_page_uri` (string), `page` (integer), `page_size` (integer), `participants` (array[object]), `recordings` (array[object]), `start` (integer), `uri` (string)\n\n## Fetch recordings for a conference\n\nReturns recordings for a conference identified by conference_sid.\n\n`GET /texml/Accounts/{account_sid}/Conferences/{conference_sid}/Recordings.json`\n\n```ruby\nresponse = client.texml.accounts.conferences.retrieve_recordings_json(\"conference_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(response)\n```\n\nReturns: `end` (integer), `first_page_uri` (uri), `next_page_uri` (string), `page` (integer), `page_size` (integer), `previous_page_uri` (uri), `recordings` (array[object]), `start` (integer), `uri` (string)\n\n## List queue resources\n\nLists queue resources.\n\n`GET /texml/Accounts/{account_sid}/Queues`\n\n```ruby\npage = client.texml.accounts.queues.list(\"account_sid\")\n\nputs(page)\n```\n\nReturns: `end` (integer), `first_page_uri` (string), `next_page_uri` (string), `page` (integer), `page_size` (integer), `queues` (array[object]), `start` (integer), `uri` (string)\n\n## Create a new queue\n\nCreates a new queue resource.\n\n`POST /texml/Accounts/{account_sid}/Queues`\n\n```ruby\nqueue = client.texml.accounts.queues.create(\"account_sid\")\n\nputs(queue)\n```\n\nReturns: `account_sid` (string), `average_wait_time` (integer), `current_size` (integer), `date_created` (string), `date_updated` (string), `max_size` (integer), `sid` (string), `subresource_uris` (object), `uri` (string)\n\n## Fetch a queue resource\n\nReturns a queue resource.\n\n`GET /texml/Accounts/{account_sid}/Queues/{queue_sid}`\n\n```ruby\nqueue = client.texml.accounts.queues.retrieve(\"queue_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(queue)\n```\n\nReturns: `account_sid` (string), `average_wait_time` (integer), `current_size` (integer), `date_created` (string), `date_updated` (string), `max_size` (integer), `sid` (string), `subresource_uris` (object), `uri` (string)\n\n## Update a queue resource\n\nUpdates a queue resource.\n\n`POST /texml/Accounts/{account_sid}/Queues/{queue_sid}`\n\n```ruby\nqueue = client.texml.accounts.queues.update(\"queue_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(queue)\n```\n\nReturns: `account_sid` (string), `average_wait_time` (integer), `current_size` (integer), `date_created` (string), `date_updated` (string), `max_size` (integer), `sid` (string), `subresource_uris` (object), `uri` (string)\n\n## Delete a queue resource\n\nDelete a queue resource.\n\n`DELETE /texml/Accounts/{account_sid}/Queues/{queue_sid}`\n\n```ruby\nresult = client.texml.accounts.queues.delete(\"queue_sid\", account_sid: \"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(result)\n```\n\n## Fetch multiple recording resources\n\nReturns multiple recording resources for an account.\n\n`GET /texml/Accounts/{account_sid}/Recordings.json`\n\n```ruby\nresponse = client.texml.accounts.retrieve_recordings_json(\"account_sid\")\n\nputs(response)\n```\n\nReturns: `end` (integer), `first_page_uri` (uri), `next_page_uri` (string), `page` (integer), `page_size` (integer), `previous_page_uri` (uri), `recordings` (array[object]), `start` (integer), `uri` (string)\n\n## Fetch recording resource\n\nReturns recording resource identified by recording id.\n\n`GET /texml/Accounts/{account_sid}/Recordings/{recording_sid}.json`\n\n```ruby\ntexml_get_call_recording_response_body = client.texml.accounts.recordings.json.retrieve_recording_sid_json(\n  \"6a09cdc3-8948-47f0-aa62-74ac943d6c58\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(texml_get_call_recording_response_body)\n```\n\nReturns: `account_sid` (string), `call_sid` (string), `channels` (enum: 1, 2), `conference_sid` (uuid), `date_created` (date-time), `date_updated` (date-time), `duration` (string | null), `error_code` (string | null), `media_url` (uri), `sid` (string), `source` (enum: StartCallRecordingAPI, StartConferenceRecordingAPI, OutboundAPI, DialVerb, Conference, RecordVerb, Trunking), `start_time` (date-time), `status` (enum: in-progress, completed, paused, stopped), `subresources_uris` (object), `uri` (string)\n\n## Delete recording resource\n\nDeletes recording resource identified by recording id.\n\n`DELETE /texml/Accounts/{account_sid}/Recordings/{recording_sid}.json`\n\n```ruby\nresult = client.texml.accounts.recordings.json.delete_recording_sid_json(\n  \"6a09cdc3-8948-47f0-aa62-74ac943d6c58\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(result)\n```\n\n## List recording transcriptions\n\nReturns multiple recording transcription resources for an account.\n\n`GET /texml/Accounts/{account_sid}/Transcriptions.json`\n\n```ruby\nresponse = client.texml.accounts.retrieve_transcriptions_json(\"account_sid\")\n\nputs(response)\n```\n\nReturns: `end` (integer), `first_page_uri` (uri), `next_page_uri` (string), `page` (integer), `page_size` (integer), `previous_page_uri` (uri), `start` (integer), `transcriptions` (array[object]), `uri` (string)\n\n## Fetch a recording transcription resource\n\nReturns the recording transcription resource identified by its ID.\n\n`GET /texml/Accounts/{account_sid}/Transcriptions/{recording_transcription_sid}.json`\n\n```ruby\nresponse = client.texml.accounts.transcriptions.json.retrieve_recording_transcription_sid_json(\n  \"6a09cdc3-8948-47f0-aa62-74ac943d6c58\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(response)\n```\n\nReturns: `account_sid` (string), `api_version` (string), `call_sid` (string), `date_created` (date-time), `date_updated` (date-time), `duration` (string | null), `recording_sid` (string), `sid` (string), `status` (enum: in-progress, completed), `transcription_text` (string), `uri` (string)\n\n## Delete a recording transcription\n\nPermanently deletes a recording transcription.\n\n`DELETE /texml/Accounts/{account_sid}/Transcriptions/{recording_transcription_sid}.json`\n\n```ruby\nresult = client.texml.accounts.transcriptions.json.delete_recording_transcription_sid_json(\n  \"6a09cdc3-8948-47f0-aa62-74ac943d6c58\",\n  account_sid: \"550e8400-e29b-41d4-a716-446655440000\"\n)\n\nputs(result)\n```\n\n## Create a TeXML secret\n\nCreate a TeXML secret which can be later used as a Dynamic Parameter for TeXML when using Mustache Templates in your TeXML. In your TeXML you will be able to use your secret name, and this name will be replaced by the actual secret value when processing the TeXML on Telnyx side. The secrets are not visible in any logs.\n\n`POST /texml/secrets` — Required: `name`, `value`\n\n```ruby\nresponse = client.texml.secrets(name: \"My Secret Name\", value: \"My Secret Value\")\n\nputs(response)\n```\n\nReturns: `name` (string), `value` (enum: REDACTED)\n\n## List all TeXML Applications\n\nReturns a list of your TeXML Applications.\n\n`GET /texml_applications`\n\n```ruby\npage = client.texml_applications.list\n\nputs(page)\n```\n\nReturns: `active` (boolean), `anchorsite_override` (enum: Latency, Chicago, IL, Ashburn, VA, San Jose, CA, Sydney, Australia, Amsterdam, Netherlands, London, UK, Toronto, Canada, Vancouver, Canada, Frankfurt, Germany), `call_cost_in_webhooks` (boolean), `created_at` (string), `dtmf_type` (enum: RFC 2833, Inband, SIP INFO), `first_command_timeout` (boolean), `first_command_timeout_secs` (integer), `friendly_name` (string), `id` (string), `inbound` (object), `outbound` (object), `record_type` (string), `status_callback` (uri), `status_callback_method` (enum: get, post), `tags` (array[string]), `updated_at` (string), `voice_fallback_url` (uri), `voice_method` (enum: get, post), `voice_url` (uri)\n\n## Creates a TeXML Application\n\nCreates a TeXML Application.\n\n`POST /texml_applications` — Required: `friendly_name`, `voice_url`\n\nOptional: `active` (boolean), `anchorsite_override` (enum: Latency, Chicago, IL, Ashburn, VA, San Jose, CA, Sydney, Australia, Amsterdam, Netherlands, London, UK, Toronto, Canada, Vancouver, Canada, Frankfurt, Germany), `call_cost_in_webhooks` (boolean), `dtmf_type` (enum: RFC 2833, Inband, SIP INFO), `first_command_timeout` (boolean), `first_command_timeout_secs` (integer), `inbound` (object), `outbound` (object), `status_callback` (uri), `status_callback_method` (enum: get, post), `tags` (array[string]), `voice_fallback_url` (uri), `voice_method` (enum: get, post)\n\n```ruby\ntexml_application = client.texml_applications.create(friendly_name: \"call-router\", voice_url: \"https://example.com\")\n\nputs(texml_application)\n```\n\nReturns: `active` (boolean), `anchorsite_override` (enum: Latency, Chicago, IL, Ashburn, VA, San Jose, CA, Sydney, Australia, Amsterdam, Netherlands, London, UK, Toronto, Canada, Vancouver, Canada, Frankfurt, Germany), `call_cost_in_webhooks` (boolean), `created_at` (string), `dtmf_type` (enum: RFC 2833, Inband, SIP INFO), `first_command_timeout` (boolean), `first_command_timeout_secs` (integer), `friendly_name` (string), `id` (string), `inbound` (object), `outbound` (object), `record_type` (string), `status_callback` (uri), `status_callback_method` (enum: get, post), `tags` (array[string]), `updated_at` (string), `voice_fallback_url` (uri), `voice_method` (enum: get, post), `voice_url` (uri)\n\n## Retrieve a TeXML Application\n\nRetrieves the details of an existing TeXML Application.\n\n`GET /texml_applications/{id}`\n\n```ruby\ntexml_application = client.texml_applications.retrieve(\"1293384261075731499\")\n\nputs(texml_application)\n```\n\nReturns: `active` (boolean), `anchorsite_override` (enum: Latency, Chicago, IL, Ashburn, VA, San Jose, CA, Sydney, Australia, Amsterdam, Netherlands, London, UK, Toronto, Canada, Vancouver, Canada, Frankfurt, Germany), `call_cost_in_webhooks` (boolean), `created_at` (string), `dtmf_type` (enum: RFC 2833, Inband, SIP INFO), `first_command_timeout` (boolean), `first_command_timeout_secs` (integer), `friendly_name` (string), `id` (string), `inbound` (object), `outbound` (object), `record_type` (string), `status_callback` (uri), `status_callback_method` (enum: get, post), `tags` (array[string]), `updated_at` (string), `voice_fallback_url` (uri), `voice_method` (enum: get, post), `voice_url` (uri)\n\n## Update a TeXML Application\n\nUpdates settings of an existing TeXML Application.\n\n`PATCH /texml_applications/{id}` — Required: `friendly_name`, `voice_url`\n\nOptional: `active` (boolean), `anchorsite_override` (enum: Latency, Chicago, IL, Ashburn, VA, San Jose, CA, Sydney, Australia, Amsterdam, Netherlands, London, UK, Toronto, Canada, Vancouver, Canada, Frankfurt, Germany), `call_cost_in_webhooks` (boolean), `dtmf_type` (enum: RFC 2833, Inband, SIP INFO), `first_command_timeout` (boolean), `first_command_timeout_secs` (integer), `inbound` (object), `outbound` (object), `status_callback` (uri), `status_callback_method` (enum: get, post), `tags` (array[string]), `voice_fallback_url` (uri), `voice_method` (enum: get, post)\n\n```ruby\ntexml_application = client.texml_applications.update(\n  \"1293384261075731499\",\n  friendly_name: \"call-router\",\n  voice_url: \"https://example.com\"\n)\n\nputs(texml_application)\n```\n\nReturns: `active` (boolean), `anchorsite_override` (enum: Latency, Chicago, IL, Ashburn, VA, San Jose, CA, Sydney, Australia, Amsterdam, Netherlands, London, UK, Toronto, Canada, Vancouver, Canada, Frankfurt, Germany), `call_cost_in_webhooks` (boolean), `created_at` (string), `dtmf_type` (enum: RFC 2833, Inband, SIP INFO), `first_command_timeout` (boolean), `first_command_timeout_secs` (integer), `friendly_name` (string), `id` (string), `inbound` (object), `outbound` (object), `record_type` (string), `status_callback` (uri), `status_callback_method` (enum: get, post), `tags` (array[string]), `updated_at` (string), `voice_fallback_url` (uri), `voice_method` (enum: get, post), `voice_url` (uri)\n\n## Deletes a TeXML Application\n\nDeletes a TeXML Application.\n\n`DELETE /texml_applications/{id}`\n\n```ruby\ntexml_application = client.texml_applications.delete(\"1293384261075731499\")\n\nputs(texml_application)\n```\n\nReturns: `active` (boolean), `anchorsite_override` (enum: Latency, Chicago, IL, Ashburn, VA, San Jose, CA, Sydney, Australia, Amsterdam, Netherlands, London, UK, Toronto, Canada, Vancouver, Canada, Frankfurt, Germany), `call_cost_in_webhooks` (boolean), `created_at` (string), `dtmf_type` (enum: RFC 2833, Inband, SIP INFO), `first_command_timeout` (boolean), `first_command_timeout_secs` (integer), `friendly_name` (string), `id` (string), `inbound` (object), `outbound` (object), `record_type` (string), `status_callback` (uri), `status_callback_method` (enum: get, post), `tags` (array[string]), `updated_at` (string), `voice_fallback_url` (uri), `voice_method` (enum: get, post), `voice_url` (uri)","tags":["telnyx","texml","ruby","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk"],"capabilities":["skill","source-team-telnyx","skill-telnyx-texml-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-texml-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 (27,820 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-22T00:54:49.305Z","embedding":null,"createdAt":"2026-04-18T22:08:01.318Z","updatedAt":"2026-04-22T00:54:49.305Z","lastSeenAt":"2026-04-22T00:54:49.305Z","tsv":"'+13120001234':395 '+13121230000':397 '+13125550001':76 '+13125550002':78 '-47':815,1143,2206,2315,2414,2495 '-8948':814,1142,2205,2314,2413,2494 '/calls':201,264,427,537,637,705,801,921,995,1071,1129 '/conferences':1195,1239,1330,1419,1476,1539,1636,1733,1778,1842 '/participants':1422,1479,1542,1639,1736 '/queues':1900,1944,1991,2048,2105 '/recordings':804,1781,2189,2303 '/recordings.json':640,708,1845,2138 '/siprec':998 '/siprec.json':924 '/streams':1132 '/streams.json':1074 '/texml/accounts':198,261,424,534,634,702,798,918,992,1068,1126,1192,1236,1327,1416,1473,1536,1633,1730,1775,1839,1897,1941,1988,2045,2102,2135,2186,2300,2342,2397,2478 '/texml/secrets':2575 '/texml_applications':2610,2715,2912,3024,3219 '/transcriptions':2400,2481 '/transcriptions.json':2345 '1':106,734,847,2235 '1293384261075731499':2918,3108,3225 '2':735,848,2236 '2833':2654,2756,2847,2960,3066,3158,3267 '401':64,141 '403':145 '404':148 '41d4':440,550,653,720,825,833,936,1014,1022,1086,1153,1161,1252,1343,1434,1490,1561,1569,1658,1666,1755,1763,1793,1858,2004,2061,2118,2216,2325,2424,2505 '422':60,127,152 '429':57,96,158 '446655440000':442,552,655,722,827,835,938,1016,1024,1088,1155,1163,1254,1345,1436,1492,1563,1571,1660,1668,1757,1765,1795,1860,2006,2063,2120,2218,2327,2426,2507 '550e8400':437,547,650,717,822,830,933,1011,1019,1083,1150,1158,1249,1340,1431,1487,1558,1566,1655,1663,1752,1760,1790,1855,2001,2058,2115,2213,2322,2421,2502 '6a09cdc3':813,1141,2204,2313,2412,2493 '74ac943d6c58':819,1147,2210,2319,2418,2499 'a716':441,551,654,721,826,834,937,1015,1023,1087,1154,1162,1253,1344,1435,1491,1562,1570,1659,1667,1756,1764,1794,1859,2005,2062,2119,2217,2326,2425,2506 'aa62':818,1146,2209,2318,2417,2498 'abl':2542 'account':191,199,206,262,386,425,435,446,535,545,556,635,648,703,715,726,799,820,839,919,931,942,993,1009,1028,1069,1081,1092,1127,1148,1167,1193,1200,1237,1247,1258,1328,1338,1349,1417,1429,1474,1485,1496,1537,1556,1575,1634,1653,1672,1731,1750,1776,1788,1840,1853,1898,1904,1942,1948,1953,1989,1999,2010,2046,2056,2067,2103,2113,2133,2136,2144,2187,2211,2227,2301,2320,2340,2343,2351,2398,2419,2430,2479,2500 'activ':2617,2722,2810,2923,3032,3121,3230 'actual':113,2556 'address':1066 'alreadi':40 'alway':65 'amsterdam':2632,2737,2825,2938,3047,3136,3245 'anchorsit':2619,2724,2812,2925,3034,3123,3232 'answer':349,449,501,559,611 'api':20,24,48,121,143,1261,1298,1352,1389,1578,1675,2433 'apiconnectionerror':84 'apistatuserror':118 'app':392 'applic':388,2601,2608,2709,2713,2796,2808,2902,2910,2916,2921,3015,3022,3106,3119,3213,3217,3223,3228 'applicationsid':268 'array':212,285,679,1206,1456,1815,1818,1884,1925,2169,2378,2689,2783,2882,2995,3093,3193,3302 'ashburn':2625,2730,2818,2931,3040,3129,3238 'assum':37 'asyncamd':270 'asyncamdstatuscallback':272 'asyncamdstatuscallbackmethod':274 'australia':340,2631,2736,2824,2937,3046,3135,3244 'authent':62 'auto':169 'automat':173 'averag':1956,2013,2070 'backoff':104,164 'barg':359 'bash':9 'begin':72 'bodi':2199,2225 'boolean':271,281,283,309,330,1503,1515,1517,1519,1589,1612,1614,1616,1686,1709,1711,1713,2618,2646,2661,2723,2751,2763,2811,2839,2854,2924,2952,2967,3033,3061,3073,3122,3150,3165,3231,3259,3274 'busi':498,608 'ca':2629,2734,2822,2935,3044,3133,3242 'call':49,183,187,205,211,236,241,409,413,428,431,433,444,510,513,538,541,543,554,623,628,631,638,646,689,696,699,706,713,729,790,796,802,828,842,904,912,915,922,929,945,983,996,1017,1031,1055,1061,1072,1079,1095,1118,1124,1130,1156,1170,1264,1355,1499,1505,1543,1551,1581,1584,1591,1595,1640,1648,1678,1681,1688,1692,1737,1745,2196,2222,2230,2436,2642,2747,2801,2835,2948,3057,3112,3146,3255 'call-rout':2800,3111 'callback':2680,2683,2774,2777,2873,2876,2986,2989,3084,3087,3184,3187,3293,3296 'caller':456,566 'callerid':278 'callsid':417 'camelcas':527 'canada':339,2637,2639,2742,2744,2830,2832,2943,2945,3052,3054,3141,3143,3250,3252 'cancel':495,605 'cancelplaybackondetectmessageend':280 'cancelplaybackonmachinedetect':282 'channel':732,845,2233 'check':88,107,131,155 'chicago':2623,2728,2816,2929,3038,3127,3236 'client':17,38 'client.messages.send':74 'client.new':19 'client.texml.accounts.calls.calls':385 'client.texml.accounts.calls.recordings.recording':810 'client.texml.accounts.calls.recordings_json.recordings':711 'client.texml.accounts.calls.recordings_json.retrieve':643 'client.texml.accounts.calls.retrieve':204,432 'client.texml.accounts.calls.siprec':927 'client.texml.accounts.calls.siprec.siprec':1004 'client.texml.accounts.calls.streams':1077 'client.texml.accounts.calls.streams.streaming':1138 'client.texml.accounts.calls.update':542 'client.texml.accounts.conferences.participants.delete':1744 'client.texml.accounts.conferences.participants.participants':1482 'client.texml.accounts.conferences.participants.retrieve':1425,1550 'client.texml.accounts.conferences.participants.update':1647 'client.texml.accounts.conferences.retrieve':1198,1244,1784,1848 'client.texml.accounts.conferences.update':1335 'client.texml.accounts.queues.create':1947 'client.texml.accounts.queues.delete':2110 'client.texml.accounts.queues.list':1903 'client.texml.accounts.queues.retrieve':1996 'client.texml.accounts.queues.update':2053 'client.texml.accounts.recordings.json.delete':2309 'client.texml.accounts.recordings.json.retrieve':2200 'client.texml.accounts.retrieve':2141,2348 'client.texml.accounts.transcriptions.json.delete':2488 'client.texml.accounts.transcriptions.json.retrieve':2407 'client.texml.secrets':2581 'client.texml_applications.create':2797 'client.texml_applications.delete':3224 'client.texml_applications.list':2613 'client.texml_applications.retrieve':2917 'client.texml_applications.update':3107 'coach':1502,1504,1588,1590,1594,1685,1687,1691 'code':70,140,753,866,955,1038,2254 'command':2659,2663,2761,2765,2852,2856,2965,2969,3071,3075,3163,3167,3272,3276 'common':138 'complet':350,496,606,1312,1403,1524,1621,1718,2281,2462 'confer':736,771,849,884,1186,1189,1199,1205,1229,1233,1240,1243,1245,1256,1267,1279,1286,1295,1320,1324,1331,1334,1336,1347,1358,1370,1377,1386,1410,1413,1420,1427,1465,1470,1477,1483,1508,1512,1528,1532,1540,1564,1599,1609,1626,1630,1637,1661,1696,1706,1723,1727,1734,1758,1769,1772,1779,1786,1828,1833,1836,1843,1851,2237,2268 'conference-ended-via-api':1294,1385 'configur':251 'connect':89,254,1522,1523,1619,1620,1716,1717 'consist':196,422 'control':258 'cost':2643,2748,2836,2949,3058,3147,3256 'creat':460,570,740,853,949,1270,1361,1603,1700,1931,1935,1964,2021,2078,2241,2440,2510,2514,2647,2706,2710,2840,2953,3151,3260 'current':1960,2017,2074 'customhead':284 'date':459,462,569,572,739,742,744,747,777,852,855,857,860,890,948,951,1034,1098,1101,1173,1176,1269,1272,1360,1363,1602,1605,1699,1702,1963,1966,2020,2023,2077,2080,2240,2243,2245,2248,2274,2439,2442,2444,2447 'date-tim':741,746,776,854,859,889,1100,1175,2242,2247,2273,2441,2446 'default':29 'delay':114 'delet':1721,1725,1729,2093,2097,2101,2289,2292,2299,2468,2473,2477,3210,3214,3218 'detail':2905 'detectionmod':287 'detectmessageend':297 'dial':1462,1467 'dialverb':770,883,2267 'direct':465,575 'disabl':296 'do-not-trim':373 'dtmf':2650,2752,2843,2956,3062,3154,3263 'dual':313 'durat':469,579,749,862,2250,2449 'dynam':2525 'e':119 'e.message':124 'e.status':123,126 'e29b':439,549,652,719,824,832,935,1013,1021,1085,1152,1160,1251,1342,1433,1489,1560,1568,1657,1665,1754,1762,1792,1857,2003,2060,2117,2215,2324,2423,2504 'e29b-41d4-a716':438,548,651,718,823,831,934,1012,1020,1084,1151,1159,1250,1341,1432,1488,1559,1567,1656,1664,1753,1761,1791,1856,2002,2059,2116,2214,2323,2422,2503 'east':342 'enabl':295 'end':136,137,214,471,581,659,1208,1266,1280,1285,1296,1357,1371,1376,1387,1440,1511,1608,1705,1799,1864,1909,2149,2356 'endpoint':193,419 'enum':275,288,294,311,319,325,336,346,352,358,369,380,451,466,490,561,576,600,733,766,780,846,879,893,963,969,1043,1108,1181,1281,1307,1372,1398,1521,1618,1715,2234,2263,2277,2458,2596,2621,2652,2685,2700,2726,2754,2779,2791,2814,2845,2878,2893,2927,2958,2991,3006,3036,3064,3089,3101,3125,3156,3189,3204,3234,3265,3298,3313 'env':22 'error':45,54,59,63,67,83,87,94,117,122,130,139,154,752,865,954,1037,2253 'europ':338 'eventu':195,421 'exampl':35,391,532 'example-app-sid':390 'example.com':2805,3116 'exceed':1301,1392 'exist':2908,3020 'exit':1288,1379,1514,1611,1708 'exponenti':103,163 'f0':817,1145,2208,2317,2416,2497 'f0-aa62-74ac943d6c58':816,1144,2207,2316,2415,2496 'fail':51,497,607 'fallback':2695,2786,2888,3001,3096,3199,3308 'fallbackurl':291 'fetch':181,407,619,1227,1824,1979,2123,2175,2382 'field':133,156 'first':216,661,1210,1442,1801,1866,1911,2151,2358,2658,2662,2760,2764,2851,2855,2964,2968,3070,3074,3162,3166,3271,3275 'format':135,157,477,505,525,587,615 'found':151 'frankfurt':2640,2745,2833,2946,3055,3144,3253 'friend':1275,1366,2667,2717,2798,2860,2973,3027,3109,3171,3280 'gem':10 'germani':2641,2746,2834,2947,3056,3145,3254 'get':197,276,320,353,381,423,633,1191,1235,1415,1527,1531,1535,1774,1838,1896,1987,2134,2185,2195,2221,2341,2396,2609,2686,2701,2780,2792,2879,2894,2911,2992,3007,3090,3102,3190,3205,3299,3314 'handl':46,66 'header':111 'hello':80 'hold':1516,1613,1710 'human':452,562 'id':2184,2298,2395,2670,2863,2913,2976,3025,3174,3220,3283 'identifi':414,629,697,913,987,1834,2181,2295,2392 'il':2624,2729,2817,2930,3039,3128,3237 'import':165 'in-progress':492,602,964,1044,1109,1309,1400,2278,2459 'inband':2655,2757,2848,2961,3067,3159,3268 'inbound':326,467,577,781,894,972,2672,2769,2865,2978,3079,3176,3285 'individu':412 'info':2657,2759,2850,2963,3069,3161,3270 'init':1308,1399 'initi':41,233,237,347 'instal':8,11 'insuffici':146 'integ':215,225,228,230,299,301,303,305,323,365,367,660,670,673,682,1209,1219,1222,1224,1441,1451,1454,1459,1800,1810,1813,1821,1865,1875,1878,1887,1910,1920,1923,1928,1959,1962,1971,2016,2019,2028,2073,2076,2085,2150,2160,2163,2172,2357,2367,2370,2376,2666,2768,2859,2972,3078,3170,3279 'invalid':142 'item':178 'item.id':180 'iter':174 'jose':2628,2733,2821,2934,3043,3132,3241 'json':645,712,807,812,928,1001,1006,1078,1135,1140,1850,2143,2192,2203,2306,2312,2350,2404,2411,2485,2492 'key':21,25,144,518 'label':1547,1555,1644,1652,1741,1749 'last':1291,1382 'last-participant-left':1290,1381 'latenc':2622,2727,2815,2928,3037,3126,3235 'later':2521 'left':1289,1293,1380,1384 'legaci':1586,1597,1683,1694 'limit':56,98,160 'list':1185,1188,1409,1412,1768,1771,1890,1893,2330,2598,2604 'log':2573 'london':2634,2739,2827,2940,3049,3138,3247 'machin':453,563 'machinedetect':293 'machinedetectionsilencetimeout':298 'machinedetectionspeechendthreshold':300 'machinedetectionspeechthreshold':302 'machinedetectiontimeout':304 'max':1969,2026,2083 'media':1052,1058,2257 'method':2684,2699,2778,2790,2877,2892,2990,3005,3088,3100,3188,3203,3297,3312 'middl':341 'mission':257 'monitor':361 'mono':312 'multipl':182,186,2124,2128,2334 'must':523 'mustach':2531 'mute':1518,1615,1712 'name':457,567,1103,1276,1367,2547,2550,2577,2582,2585,2593,2668,2718,2799,2861,2974,3028,3110,3172,3281 'netherland':2633,2738,2826,2939,3048,3137,3246 'network':53,86 'new':1464,1469,1933,1937 'next':220,665,1214,1446,1805,1870,1915,2155,2362 'no-answ':499,609 'note':166,515 'null':751,755,758,762,864,868,871,875,2252,2256,2451 'object':213,286,680,1207,1315,1406,1457,1816,1819,1885,1926,1976,2033,2090,2170,2286,2379,2673,2675,2770,2772,2866,2868,2979,2981,3080,3082,3177,3179,3286,3288 'omit':33 'option':269,2721,3031 'outbound':235,239,327,468,578,782,895,974,2674,2771,2867,2980,3081,3178,3287 'outboundapi':769,882,2266 'overrid':2620,2725,2813,2926,3035,3124,3233 'page':170,176,217,221,224,226,662,666,669,671,675,1211,1215,1218,1220,1443,1447,1450,1452,1802,1806,1809,1811,1867,1871,1874,1876,1880,1902,1907,1912,1916,1919,1921,2152,2156,2159,2161,2165,2359,2363,2366,2368,2372,2612,2615 'page.auto':175 'pagin':167 'paramet':694,910,2526 'particip':1283,1292,1374,1383,1411,1414,1426,1455,1466,1471,1529,1533,1546,1549,1554,1573,1627,1631,1643,1646,1651,1670,1724,1728,1740,1748,1814 'participant-with-end-conference-on-exit-left':1282,1373 'particular':795,1123 'patch':3023 'paus':2282 'payload':522 'perman':2472 'permiss':147 'pleas':514 'portal':259 'post':260,277,321,354,382,533,701,797,917,991,1067,1125,1326,1472,1632,1940,2044,2574,2687,2702,2714,2781,2793,2880,2895,2993,3008,3091,3103,3191,3206,3300,3315 'preferredcodec':306 'premium':289 'present':519 'previous':674,1879,2164,2371 'price':479,481,589,591,756,759,869,872 'process':2560 'product':69 'progress':494,604,966,1046,1111,1311,1402,2280,2461 'put':85,120,128,179,208,398,443,553,656,723,836,939,1025,1089,1164,1202,1255,1346,1437,1493,1572,1669,1766,1796,1861,1906,1950,2007,2064,2121,2146,2219,2328,2353,2427,2508,2590,2614,2806,2919,3117,3226 'queue':1891,1894,1924,1934,1938,1946,1951,1981,1985,1992,1995,1997,2008,2038,2042,2049,2052,2054,2065,2095,2099,2106,2111 'rate':55,97,159 'ratelimiterror':95 'reason':1278,1369 'record':308,620,625,644,678,686,691,787,792,805,1770,1773,1785,1817,1825,1830,1849,1883,2125,2129,2142,2168,2176,2179,2183,2190,2197,2201,2223,2290,2293,2297,2304,2310,2331,2335,2384,2389,2401,2408,2452,2470,2475,2482,2489,2676,2869,2982,3180,3289 'recordingchannel':310 'recordingstatuscallback':314 'recordingstatuscallbackev':316 'recordingstatuscallbackmethod':318 'recordingtimeout':322 'recordingtrack':324 'recordverb':772,885,2269 'redact':2597 'region':1302,1393 'regular':290 'replac':2553 'request':244,249,685,899 'requir':15,132,265,2576,2716,3026 'rescu':81,92,115 'resourc':149,184,188,793,1121,1187,1190,1230,1234,1321,1325,1530,1534,1892,1895,1939,1982,1986,2039,2043,2096,2100,2126,2130,2177,2180,2291,2294,2337,2386,2391 'respons':203,209,384,399,642,657,710,724,809,837,926,940,1003,1026,1076,1090,1137,1165,1197,1203,1424,1438,1481,1494,1783,1797,1847,1862,2140,2147,2198,2224,2347,2354,2406,2428,2580,2591 'result':73,1743,1767,2109,2122,2308,2329,2487,2509 'retri':91,101,109,161 'retriev':2899,2903 'retry-aft':108 'return':185,210,400,410,445,555,624,658,725,838,941,1027,1091,1166,1204,1231,1257,1348,1439,1495,1574,1671,1798,1829,1863,1908,1952,1983,2009,2066,2127,2148,2178,2226,2333,2355,2387,2429,2592,2602,2616,2809,2922,3120,3229 'rfc':2653,2755,2846,2959,3065,3157,3266 'ring':348,491,601 'router':2802,3113 'rubi':4,7,14,71,202,383,430,540,641,709,808,925,1002,1075,1136,1196,1242,1333,1423,1480,1548,1645,1742,1782,1846,1901,1945,1994,2051,2108,2139,2193,2307,2346,2405,2486,2579,2611,2794,2914,3104,3221 'san':2627,2732,2820,2933,3042,3131,3240 'sec':2665,2767,2858,2971,3077,3169,3278 'secret':2513,2517,2546,2557,2567,2584,2588 'sendrecordingurl':329 'session':901,907,980,986 'set':3017 'setup':13 'shown':43 'sid':200,207,263,387,389,393,426,429,434,436,447,484,536,539,544,546,557,594,632,636,639,647,649,700,704,707,714,716,727,730,737,763,800,803,806,811,821,829,840,843,850,876,916,920,923,930,932,943,946,957,990,994,997,1000,1005,1008,1010,1018,1029,1032,1040,1070,1073,1080,1082,1093,1096,1105,1128,1131,1134,1139,1149,1157,1168,1171,1178,1194,1201,1238,1241,1246,1248,1259,1265,1304,1329,1332,1337,1339,1350,1356,1395,1418,1421,1428,1430,1475,1478,1484,1486,1497,1500,1506,1509,1538,1541,1544,1552,1557,1565,1576,1582,1585,1592,1596,1600,1635,1638,1641,1649,1654,1662,1673,1679,1682,1689,1693,1697,1732,1735,1738,1746,1751,1759,1777,1780,1787,1789,1837,1841,1844,1852,1854,1899,1905,1943,1949,1954,1972,1990,1993,1998,2000,2011,2029,2047,2050,2055,2057,2068,2086,2104,2107,2112,2114,2137,2145,2188,2191,2202,2212,2228,2231,2238,2260,2302,2305,2311,2321,2344,2352,2399,2403,2410,2420,2431,2437,2453,2455,2480,2484,2491,2501 'side':2565 'silenc':372 'sip':2656,2758,2849,2962,3068,3160,3269 'sipauthpassword':331 'sipauthusernam':333 'siprec':900,906,979,985,989,999,1007 'sipregion':335 'size':227,672,1221,1453,1812,1877,1922,1961,1970,2018,2027,2075,2084,2162,2369 'skill' 'skill-telnyx-texml-ruby' 'sleep':105 'sourc':765,878,2262 'source-team-telnyx' 'specif':1064 'specifi':529,693,909 'start':229,486,596,681,690,774,887,905,959,1050,1056,1223,1458,1820,1886,1927,2171,2271,2375 'startcallrecordingapi':767,880,2264 'startconferencerecordingapi':768,881,2265 'status':403,489,599,962,1042,1107,1180,1306,1397,1520,1617,1714,2276,2457,2679,2682,2773,2776,2872,2875,2985,2988,3083,3086,3183,3186,3292,3295 'statuscallback':343 'statuscallbackev':345 'statuscallbackmethod':351 'stop':967,1047,1182,2283 'stream':1051,1057,1115,1120,1133 'string':219,223,232,273,279,292,307,315,317,332,334,344,356,363,378,402,404,406,448,458,461,464,470,473,475,478,480,483,485,488,503,506,508,558,568,571,574,580,583,585,588,590,593,595,598,613,616,618,668,684,728,731,750,754,757,761,764,785,841,844,863,867,870,874,877,898,944,947,950,953,956,958,961,977,1030,1033,1036,1039,1041,1049,1094,1097,1104,1106,1113,1169,1172,1179,1184,1213,1217,1226,1260,1263,1268,1271,1274,1277,1303,1305,1317,1351,1354,1359,1362,1365,1368,1394,1396,1408,1445,1449,1461,1498,1501,1507,1526,1577,1580,1583,1587,1593,1598,1604,1607,1623,1674,1677,1680,1684,1690,1695,1701,1704,1720,1804,1808,1823,1873,1889,1914,1918,1930,1955,1965,1968,1973,1978,2012,2022,2025,2030,2035,2069,2079,2082,2087,2092,2158,2174,2229,2232,2251,2255,2261,2288,2365,2381,2432,2435,2438,2450,2454,2456,2465,2467,2594,2649,2669,2671,2678,2690,2693,2784,2842,2862,2864,2871,2883,2886,2955,2975,2977,2984,2996,2999,3094,3153,3173,3175,3182,3194,3197,3262,3282,3284,3291,3303,3306 'subresourc':1313,1404,1974,2031,2088,2284 'supervisecallsid':355 'supervisingrol':357 'sure':455,565 'sydney':2630,2735,2823,2936,3045,3134,3243 'tag':2688,2782,2881,2994,3092,3192,3301 'telnyx':2,5,12,16,18,23,82,93,116,242,2564 'telnyx-texml-rubi':1 'templat':2532 'texml':3,6,240,245,362,512,2194,2220,2512,2516,2528,2535,2538,2562,2600,2607,2708,2712,2795,2807,2901,2909,2915,2920,3014,3021,3105,3118,3212,3216,3222,3227 'text':79,2464 'time':472,487,582,597,743,748,775,778,856,861,888,891,960,1102,1177,1300,1391,1958,2015,2072,2244,2249,2272,2275,2443,2448 'time-exceed':1299,1390 'timelimit':364 'timeout':366,2660,2664,2762,2766,2853,2857,2966,2970,3072,3076,3164,3168,3273,3277 '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' 'toronto':2636,2741,2829,2942,3051,3140,3249 'track':779,892,968,971,973,975 'transcript':2332,2336,2349,2377,2385,2390,2402,2409,2463,2471,2476,2483,2490 'trim':368,371,376 'trim-sil':370 'trunk':773,886,2270 'type':2651,2677,2753,2844,2870,2957,2983,3063,3155,3181,3264,3290 'uk':2635,2740,2828,2941,3050,3139,3248 'unit':482,592,760,873 'updat':463,509,511,573,745,786,791,858,952,978,984,1035,1099,1114,1119,1174,1273,1318,1322,1364,1606,1624,1628,1703,1967,2024,2036,2040,2081,2246,2445,2691,2884,2997,3012,3016,3195,3304 'uri':218,222,231,507,617,663,664,667,676,677,683,784,897,976,1048,1112,1183,1212,1216,1225,1314,1316,1405,1407,1444,1448,1460,1525,1622,1719,1803,1807,1822,1868,1869,1872,1881,1882,1888,1913,1917,1929,1975,1977,2032,2034,2089,2091,2153,2154,2157,2166,2167,2173,2259,2285,2287,2360,2361,2364,2373,2374,2380,2466,2681,2697,2705,2775,2788,2874,2890,2898,2987,3003,3011,3085,3098,3185,3201,3209,3294,3310,3318 'url':250,377,2258,2696,2704,2720,2787,2804,2889,2897,3002,3010,3030,3097,3115,3200,3208,3309,3317 'urlmethod':379 'us':337 'use':168,2522,2530,2544 'uuid':738,851,1510,1601,1698,2239 'va':2626,2731,2819,2932,3041,3130,3239 'valid':58,129,153 'valu':2558,2578,2586,2589,2595 'vancouv':2638,2743,2831,2944,3053,3142,3251 'version':1262,1353,1579,1676,2434 'via':1297,1388 'visibl':2570 'voic':2694,2698,2703,2719,2785,2789,2803,2887,2891,2896,3000,3004,3009,3029,3095,3099,3114,3198,3202,3207,3307,3311,3316 'wait':99,1957,2014,2071 'webhook':2645,2750,2838,2951,3060,3149,3258 'websocket':1065 'whisper':360 'xml':248","prices":[{"id":"62db4eb0-0f91-4aaf-9cc8-45d9f8a91864","listingId":"76bb4dd9-9642-4432-b58d-51d9a481b2f4","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:08:01.318Z"}],"sources":[{"listingId":"76bb4dd9-9642-4432-b58d-51d9a481b2f4","source":"github","sourceId":"team-telnyx/ai/telnyx-texml-ruby","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-texml-ruby","isPrimary":false,"firstSeenAt":"2026-04-18T22:08:01.318Z","lastSeenAt":"2026-04-22T00:54:49.305Z"}],"details":{"listingId":"76bb4dd9-9642-4432-b58d-51d9a481b2f4","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-texml-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":"b90ccf6c63e67e45d00ab0246c11be94ee180af3","skill_md_path":"skills/telnyx-texml-ruby/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-texml-ruby"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-texml-ruby","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-texml-ruby"},"updatedAt":"2026-04-22T00:54:49.305Z"}}