{"id":"448fa03b-817c-44a7-b6e9-457c0ebc6b54","shortId":"vJRGWQ","kind":"skill","title":"telnyx-account-reports-ruby","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Account Reports - 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 call events\n\nFilters call events by given filter parameters. Events are ordered by `occurred_at`. If filter for `leg_id` or `application_session_id` is not present, it only filters events from the last 24 hours.\n\n`GET /call_events`\n\n```ruby\npage = client.call_events.list\n\nputs(page)\n```\n\nReturns: `call_leg_id` (string), `call_session_id` (string), `event_timestamp` (string), `metadata` (object), `name` (string), `record_type` (enum: call_event), `type` (enum: command, webhook)\n\n## Create a ledger billing group report\n\n`POST /ledger_billing_group_reports`\n\nOptional: `month` (integer), `year` (integer)\n\n```ruby\nledger_billing_group_report = client.ledger_billing_group_reports.create\n\nputs(ledger_billing_group_report)\n```\n\nReturns: `created_at` (date-time), `id` (uuid), `organization_id` (uuid), `record_type` (enum: ledger_billing_group_report), `report_url` (uri), `status` (enum: pending, complete, failed, deleted), `updated_at` (date-time)\n\n## Get a ledger billing group report\n\n`GET /ledger_billing_group_reports/{id}`\n\n```ruby\nledger_billing_group_report = client.ledger_billing_group_reports.retrieve(\"f5586561-8ff0-4291-a0ac-84fe544797bd\")\n\nputs(ledger_billing_group_report)\n```\n\nReturns: `created_at` (date-time), `id` (uuid), `organization_id` (uuid), `record_type` (enum: ledger_billing_group_report), `report_url` (uri), `status` (enum: pending, complete, failed, deleted), `updated_at` (date-time)\n\n## Get all MDR detailed report requests\n\nRetrieves all MDR detailed report requests for the authenticated user\n\n`GET /legacy/reporting/batch_detail_records/messaging`\n\n```ruby\nmessagings = client.legacy.reporting.batch_detail_records.messaging.list\n\nputs(messagings)\n```\n\nReturns: `connections` (array[integer]), `created_at` (date-time), `directions` (array[string]), `end_date` (date-time), `filters` (array[object]), `id` (uuid), `profiles` (array[string]), `record_type` (string), `record_types` (array[string]), `report_name` (string), `report_url` (string), `start_date` (date-time), `status` (enum: PENDING, COMPLETE, FAILED, EXPIRED), `updated_at` (date-time)\n\n## Create a new MDR detailed report request\n\nCreates a new MDR detailed report request with the specified filters\n\n`POST /legacy/reporting/batch_detail_records/messaging` — Required: `start_time`, `end_time`\n\nOptional: `connections` (array[integer]), `directions` (array[integer]), `filters` (array[object]), `include_message_body` (boolean), `managed_accounts` (array[string]), `profiles` (array[string]), `record_types` (array[integer]), `report_name` (string), `select_all_managed_accounts` (boolean), `timezone` (string)\n\n```ruby\nmessaging = client.legacy.reporting.batch_detail_records.messaging.create(\n  end_time: \"2024-02-12T23:59:59Z\",\n  start_time: \"2024-02-01T00:00:00Z\"\n)\n\nputs(messaging)\n```\n\nReturns: `connections` (array[integer]), `created_at` (date-time), `directions` (array[string]), `end_date` (date-time), `filters` (array[object]), `id` (uuid), `profiles` (array[string]), `record_type` (string), `record_types` (array[string]), `report_name` (string), `report_url` (string), `start_date` (date-time), `status` (enum: PENDING, COMPLETE, FAILED, EXPIRED), `updated_at` (date-time)\n\n## Get a specific MDR detailed report request\n\nRetrieves a specific MDR detailed report request by ID\n\n`GET /legacy/reporting/batch_detail_records/messaging/{id}`\n\n```ruby\nmessaging = client.legacy.reporting.batch_detail_records.messaging.retrieve(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(messaging)\n```\n\nReturns: `connections` (array[integer]), `created_at` (date-time), `directions` (array[string]), `end_date` (date-time), `filters` (array[object]), `id` (uuid), `profiles` (array[string]), `record_type` (string), `record_types` (array[string]), `report_name` (string), `report_url` (string), `start_date` (date-time), `status` (enum: PENDING, COMPLETE, FAILED, EXPIRED), `updated_at` (date-time)\n\n## Delete a MDR detailed report request\n\nDeletes a specific MDR detailed report request by ID\n\n`DELETE /legacy/reporting/batch_detail_records/messaging/{id}`\n\n```ruby\nmessaging = client.legacy.reporting.batch_detail_records.messaging.delete(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(messaging)\n```\n\nReturns: `connections` (array[integer]), `created_at` (date-time), `directions` (array[string]), `end_date` (date-time), `filters` (array[object]), `id` (uuid), `profiles` (array[string]), `record_type` (string), `record_types` (array[string]), `report_name` (string), `report_url` (string), `start_date` (date-time), `status` (enum: PENDING, COMPLETE, FAILED, EXPIRED), `updated_at` (date-time)\n\n## Get all CDR report requests\n\nRetrieves all CDR report requests for the authenticated user\n\n`GET /legacy/reporting/batch_detail_records/voice`\n\n```ruby\nvoices = client.legacy.reporting.batch_detail_records.voice.list\n\nputs(voices)\n```\n\nReturns: `call_types` (array[integer]), `connections` (array[integer]), `created_at` (string), `end_time` (string), `filters` (array[object]), `id` (string), `managed_accounts` (array[string]), `record_type` (string), `record_types` (array[integer]), `report_name` (string), `report_url` (string), `retry` (int32), `source` (string), `start_time` (string), `status` (int32), `timezone` (string), `updated_at` (string)\n\n## Create a new CDR report request\n\nCreates a new CDR report request with the specified filters\n\n`POST /legacy/reporting/batch_detail_records/voice` — Required: `start_time`, `end_time`\n\nOptional: `call_types` (array[integer]), `connections` (array[integer]), `fields` (array[string]), `filters` (array[object]), `include_all_metadata` (boolean), `managed_accounts` (array[string]), `record_types` (array[integer]), `report_name` (string), `select_all_managed_accounts` (boolean), `source` (string), `timezone` (string)\n\n```ruby\nvoice = client.legacy.reporting.batch_detail_records.voice.create(\n  end_time: \"2024-02-12T23:59:59Z\",\n  start_time: \"2024-02-01T00:00:00Z\"\n)\n\nputs(voice)\n```\n\nReturns: `call_types` (array[integer]), `connections` (array[integer]), `created_at` (string), `end_time` (string), `filters` (array[object]), `id` (string), `managed_accounts` (array[string]), `record_type` (string), `record_types` (array[integer]), `report_name` (string), `report_url` (string), `retry` (int32), `source` (string), `start_time` (string), `status` (int32), `timezone` (string), `updated_at` (string)\n\n## Get available CDR report fields\n\nRetrieves all available fields that can be used in CDR reports\n\n`GET /legacy/reporting/batch_detail_records/voice/fields`\n\n```ruby\nresponse = client.legacy.reporting.batch_detail_records.voice.retrieve_fields\n\nputs(response)\n```\n\nReturns: `Billing` (array[string]), `Interaction Data` (array[string]), `Number Information` (array[string]), `Telephony Data` (array[string])\n\n## Get a specific CDR report request\n\nRetrieves a specific CDR report request by ID\n\n`GET /legacy/reporting/batch_detail_records/voice/{id}`\n\n```ruby\nvoice = client.legacy.reporting.batch_detail_records.voice.retrieve(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(voice)\n```\n\nReturns: `call_types` (array[integer]), `connections` (array[integer]), `created_at` (string), `end_time` (string), `filters` (array[object]), `id` (string), `managed_accounts` (array[string]), `record_type` (string), `record_types` (array[integer]), `report_name` (string), `report_url` (string), `retry` (int32), `source` (string), `start_time` (string), `status` (int32), `timezone` (string), `updated_at` (string)\n\n## Delete a CDR report request\n\nDeletes a specific CDR report request by ID\n\n`DELETE /legacy/reporting/batch_detail_records/voice/{id}`\n\n```ruby\nvoice = client.legacy.reporting.batch_detail_records.voice.delete(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(voice)\n```\n\nReturns: `call_types` (array[integer]), `connections` (array[integer]), `created_at` (string), `end_time` (string), `filters` (array[object]), `id` (string), `managed_accounts` (array[string]), `record_type` (string), `record_types` (array[integer]), `report_name` (string), `report_url` (string), `retry` (int32), `source` (string), `start_time` (string), `status` (int32), `timezone` (string), `updated_at` (string)\n\n## List MDR usage reports\n\nFetch all previous requests for MDR usage reports.\n\n`GET /legacy/reporting/usage_reports/messaging`\n\n```ruby\npage = client.legacy.reporting.usage_reports.messaging.list\n\nputs(page)\n```\n\nReturns: `aggregation_type` (int32), `connections` (array[string]), `created_at` (date-time), `end_time` (date-time), `id` (uuid), `profiles` (array[string]), `record_type` (string), `report_url` (string), `result` (object), `start_time` (date-time), `status` (int32), `updated_at` (date-time)\n\n## Create a new legacy usage V2 MDR report request\n\nCreates a new legacy usage V2 MDR report request with the specified filters\n\n`POST /legacy/reporting/usage_reports/messaging`\n\n```ruby\nmessaging = client.legacy.reporting.usage_reports.messaging.create(aggregation_type: 0)\n\nputs(messaging)\n```\n\nReturns: `aggregation_type` (int32), `connections` (array[string]), `created_at` (date-time), `end_time` (date-time), `id` (uuid), `profiles` (array[string]), `record_type` (string), `report_url` (string), `result` (object), `start_time` (date-time), `status` (int32), `updated_at` (date-time)\n\n## Get an MDR usage report\n\nFetch single MDR usage report by id.\n\n`GET /legacy/reporting/usage_reports/messaging/{id}`\n\n```ruby\nmessaging = client.legacy.reporting.usage_reports.messaging.retrieve(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(messaging)\n```\n\nReturns: `aggregation_type` (int32), `connections` (array[string]), `created_at` (date-time), `end_time` (date-time), `id` (uuid), `profiles` (array[string]), `record_type` (string), `report_url` (string), `result` (object), `start_time` (date-time), `status` (int32), `updated_at` (date-time)\n\n## Delete a V2 legacy usage MDR report request\n\nDeletes a specific V2 legacy usage MDR report request by ID\n\n`DELETE /legacy/reporting/usage_reports/messaging/{id}`\n\n```ruby\nmessaging = client.legacy.reporting.usage_reports.messaging.delete(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(messaging)\n```\n\nReturns: `aggregation_type` (int32), `connections` (array[string]), `created_at` (date-time), `end_time` (date-time), `id` (uuid), `profiles` (array[string]), `record_type` (string), `report_url` (string), `result` (object), `start_time` (date-time), `status` (int32), `updated_at` (date-time)\n\n## List telco data usage reports\n\nRetrieve a paginated list of telco data usage reports\n\n`GET /legacy/reporting/usage_reports/number_lookup`\n\n```ruby\nnumber_lookups = client.legacy.reporting.usage_reports.number_lookup.list\n\nputs(number_lookups)\n```\n\nReturns: `aggregation_type` (string), `created_at` (date-time), `end_date` (date), `id` (uuid), `managed_accounts` (array[string]), `record_type` (string), `report_url` (string), `result` (array[object]), `start_date` (date), `status` (string), `updated_at` (date-time)\n\n## Submit telco data usage report\n\nSubmit a new telco data usage report\n\n`POST /legacy/reporting/usage_reports/number_lookup`\n\n```ruby\nnumber_lookup = client.legacy.reporting.usage_reports.number_lookup.create\n\nputs(number_lookup)\n```\n\nReturns: `aggregation_type` (string), `created_at` (date-time), `end_date` (date), `id` (uuid), `managed_accounts` (array[string]), `record_type` (string), `report_url` (string), `result` (array[object]), `start_date` (date), `status` (string), `updated_at` (date-time)\n\n## Get telco data usage report by ID\n\nRetrieve a specific telco data usage report by its ID\n\n`GET /legacy/reporting/usage_reports/number_lookup/{id}`\n\n```ruby\nnumber_lookup = client.legacy.reporting.usage_reports.number_lookup.retrieve(\"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(number_lookup)\n```\n\nReturns: `aggregation_type` (string), `created_at` (date-time), `end_date` (date), `id` (uuid), `managed_accounts` (array[string]), `record_type` (string), `report_url` (string), `result` (array[object]), `start_date` (date), `status` (string), `updated_at` (date-time)\n\n## Delete telco data usage report\n\nDelete a specific telco data usage report by its ID\n\n`DELETE /legacy/reporting/usage_reports/number_lookup/{id}`\n\n```ruby\nresult = client.legacy.reporting.usage_reports.number_lookup.delete(\"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(result)\n```\n\n## List CDR usage reports\n\nFetch all previous requests for cdr usage reports.\n\n`GET /legacy/reporting/usage_reports/voice`\n\n```ruby\npage = client.legacy.reporting.usage_reports.voice.list\n\nputs(page)\n```\n\nReturns: `aggregation_type` (int32), `connections` (array[string]), `created_at` (date-time), `end_time` (date-time), `id` (uuid), `product_breakdown` (int32), `record_type` (string), `report_url` (string), `result` (object), `start_time` (date-time), `status` (int32), `updated_at` (date-time)\n\n## Create a new legacy usage V2 CDR report request\n\nCreates a new legacy usage V2 CDR report request with the specified filters\n\n`POST /legacy/reporting/usage_reports/voice`\n\n```ruby\nvoice = client.legacy.reporting.usage_reports.voice.create(\n  end_time: \"2024-02-01T00:00:00Z\",\n  start_time: \"2024-02-01T00:00:00Z\"\n)\n\nputs(voice)\n```\n\nReturns: `aggregation_type` (int32), `connections` (array[string]), `created_at` (date-time), `end_time` (date-time), `id` (uuid), `product_breakdown` (int32), `record_type` (string), `report_url` (string), `result` (object), `start_time` (date-time), `status` (int32), `updated_at` (date-time)\n\n## Get a CDR usage report\n\nFetch single cdr usage report by id.\n\n`GET /legacy/reporting/usage_reports/voice/{id}`\n\n```ruby\nvoice = client.legacy.reporting.usage_reports.voice.retrieve(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(voice)\n```\n\nReturns: `aggregation_type` (int32), `connections` (array[string]), `created_at` (date-time), `end_time` (date-time), `id` (uuid), `product_breakdown` (int32), `record_type` (string), `report_url` (string), `result` (object), `start_time` (date-time), `status` (int32), `updated_at` (date-time)\n\n## Delete a V2 legacy usage CDR report request\n\nDeletes a specific V2 legacy usage CDR report request by ID\n\n`DELETE /legacy/reporting/usage_reports/voice/{id}`\n\n```ruby\nvoice = client.legacy.reporting.usage_reports.voice.delete(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(voice)\n```\n\nReturns: `aggregation_type` (int32), `connections` (array[string]), `created_at` (date-time), `end_time` (date-time), `id` (uuid), `product_breakdown` (int32), `record_type` (string), `report_url` (string), `result` (object), `start_time` (date-time), `status` (int32), `updated_at` (date-time)\n\n## List CSV downloads\n\n`GET /phone_numbers/csv_downloads`\n\n```ruby\npage = client.phone_numbers.csv_downloads.list\n\nputs(page)\n```\n\nReturns: `id` (string), `record_type` (string), `status` (enum: pending, complete, failed, expired), `url` (string)\n\n## Create a CSV download\n\n`POST /phone_numbers/csv_downloads`\n\n```ruby\ncsv_download = client.phone_numbers.csv_downloads.create\n\nputs(csv_download)\n```\n\nReturns: `id` (string), `record_type` (string), `status` (enum: pending, complete, failed, expired), `url` (string)\n\n## Retrieve a CSV download\n\n`GET /phone_numbers/csv_downloads/{id}`\n\n```ruby\ncsv_download = client.phone_numbers.csv_downloads.retrieve(\"550e8400-e29b-41d4-a716-446655440000\")\n\nputs(csv_download)\n```\n\nReturns: `id` (string), `record_type` (string), `status` (enum: pending, complete, failed, expired), `url` (string)\n\n## Generates and fetches CDR Usage Reports\n\nGenerate and fetch voice usage report synchronously. This endpoint will both generate and fetch the voice report over a specified time period. No polling is necessary but the response may take up to a couple of minutes.\n\n`GET /reports/cdr_usage_reports/sync`\n\n```ruby\nresponse = client.reports.cdr_usage_reports.fetch_sync(\n  aggregation_type: :NO_AGGREGATION,\n  product_breakdown: :NO_BREAKDOWN\n)\n\nputs(response)\n```\n\nReturns: `aggregation_type` (enum: NO_AGGREGATION, CONNECTION, TAG, BILLING_GROUP), `connections` (array[integer]), `created_at` (date-time), `end_time` (date-time), `id` (uuid), `product_breakdown` (enum: NO_BREAKDOWN, DID_VS_TOLL_FREE, COUNTRY, DID_VS_TOLL_FREE_PER_COUNTRY), `record_type` (string), `report_url` (string), `result` (object), `start_time` (date-time), `status` (enum: PENDING, COMPLETE, FAILED, EXPIRED), `updated_at` (date-time)\n\n## Fetch all Messaging usage reports\n\nFetch all messaging usage reports. Usage reports are aggregated messaging data for specified time period and breakdown\n\n`GET /reports/mdr_usage_reports`\n\n```ruby\npage = client.reports.mdr_usage_reports.list\n\nputs(page)\n```\n\nReturns: `aggregation_type` (enum: NO_AGGREGATION, PROFILE, TAGS), `connections` (array[integer]), `created_at` (date-time), `end_date` (date-time), `id` (uuid), `profiles` (string), `record_type` (string), `report_url` (string), `result` (array[object]), `start_date` (date-time), `status` (enum: PENDING, COMPLETE, FAILED, EXPIRED), `updated_at` (date-time)\n\n## Create MDR Usage Report\n\nSubmit request for new new messaging usage report. This endpoint will pull and aggregate messaging data in specified time period.\n\n`POST /reports/mdr_usage_reports`\n\n```ruby\nmdr_usage_report = client.reports.mdr_usage_reports.create(\n  aggregation_type: :NO_AGGREGATION,\n  end_date: \"2020-07-01T00:00:00-06:00\",\n  start_date: \"2020-07-01T00:00:00-06:00\"\n)\n\nputs(mdr_usage_report)\n```\n\nReturns: `aggregation_type` (enum: NO_AGGREGATION, PROFILE, TAGS), `connections` (array[integer]), `created_at` (date-time), `end_date` (date-time), `id` (uuid), `profiles` (string), `record_type` (string), `report_url` (string), `result` (array[object]), `start_date` (date-time), `status` (enum: PENDING, COMPLETE, FAILED, EXPIRED), `updated_at` (date-time)\n\n## Generate and fetch MDR Usage Report\n\nGenerate and fetch messaging usage report synchronously. This endpoint will both generate and fetch the messaging report over a specified time period. No polling is necessary but the response may take up to a couple of minutes.\n\n`GET /reports/mdr_usage_reports/sync`\n\n```ruby\nresponse = client.reports.mdr_usage_reports.fetch_sync(aggregation_type: :PROFILE)\n\nputs(response)\n```\n\nReturns: `aggregation_type` (enum: NO_AGGREGATION, PROFILE, TAGS), `connections` (array[integer]), `created_at` (date-time), `end_date` (date-time), `id` (uuid), `profiles` (string), `record_type` (string), `report_url` (string), `result` (array[object]), `start_date` (date-time), `status` (enum: PENDING, COMPLETE, FAILED, EXPIRED), `updated_at` (date-time)\n\n## Retrieve messaging report\n\nFetch a single messaging usage report by id\n\n`GET /reports/mdr_usage_reports/{id}`\n\n```ruby\nmdr_usage_report = client.reports.mdr_usage_reports.retrieve(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(mdr_usage_report)\n```\n\nReturns: `aggregation_type` (enum: NO_AGGREGATION, PROFILE, TAGS), `connections` (array[integer]), `created_at` (date-time), `end_date` (date-time), `id` (uuid), `profiles` (string), `record_type` (string), `report_url` (string), `result` (array[object]), `start_date` (date-time), `status` (enum: PENDING, COMPLETE, FAILED, EXPIRED), `updated_at` (date-time)\n\n## Delete MDR Usage Report\n\nDelete messaging usage report by id\n\n`DELETE /reports/mdr_usage_reports/{id}`\n\n```ruby\nmdr_usage_report = client.reports.mdr_usage_reports.delete(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\nputs(mdr_usage_report)\n```\n\nReturns: `aggregation_type` (enum: NO_AGGREGATION, PROFILE, TAGS), `connections` (array[integer]), `created_at` (date-time), `end_date` (date-time), `id` (uuid), `profiles` (string), `record_type` (string), `report_url` (string), `result` (array[object]), `start_date` (date-time), `status` (enum: PENDING, COMPLETE, FAILED, EXPIRED), `updated_at` (date-time)\n\n## Fetch all Mdr records\n\n`GET /reports/mdrs`\n\n```ruby\nresponse = client.reports.list_mdrs\n\nputs(response)\n```\n\nReturns: `cld` (string), `cli` (string), `cost` (string), `created_at` (date-time), `currency` (enum: AUD, CAD, EUR, GBP, USD), `direction` (string), `id` (string), `message_type` (enum: SMS, MMS), `parts` (number), `profile_name` (string), `rate` (string), `record_type` (string), `status` (enum: GW_TIMEOUT, DELIVERED, DLR_UNCONFIRMED, DLR_TIMEOUT, RECEIVED, GW_REJECT, FAILED)\n\n## Fetches all Wdr records\n\nFetch all Wdr records\n\n`GET /reports/wdrs`\n\n```ruby\npage = client.reports.list_wdrs\n\nputs(page)\n```\n\nReturns: `cost` (object), `created_at` (date-time), `downlink_data` (object), `duration_seconds` (number), `id` (string), `imsi` (string), `mcc` (string), `mnc` (string), `phone_number` (string), `rate` (object), `record_type` (string), `sim_card_id` (string), `sim_group_id` (string), `sim_group_name` (string), `uplink_data` (object)\n\n## Get metadata overview\n\nReturns all available record types and supported query parameters for session analysis.\n\n`GET /session_analysis/metadata`\n\n```ruby\nmetadata = client.session_analysis.metadata.retrieve\n\nputs(metadata)\n```\n\nReturns: `meta` (object), `query_parameters` (object), `record_types` (array[object])\n\n## Get record type metadata\n\nReturns detailed metadata for a specific record type, including relationships and examples.\n\n`GET /session_analysis/metadata/{record_type}`\n\n```ruby\nresponse = client.session_analysis.metadata.retrieve_record_type(\"record_type\")\n\nputs(response)\n```\n\nReturns: `aliases` (array[string]), `child_relationships` (array[object]), `event` (string), `examples` (object), `meta` (object), `parent_relationships` (array[object]), `product` (string), `record_type` (string)\n\n## Get session analysis\n\nRetrieves a full session analysis tree for a given event, including costs, child events, and product linkages.\n\n`GET /session_analysis/{record_type}/{event_id}`\n\n```ruby\nsession_analysis = client.session_analysis.retrieve(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\", record_type: \"record_type\")\n\nputs(session_analysis)\n```\n\nReturns: `completed_at` (date-time), `cost` (object), `created_at` (date-time), `meta` (object), `root` (object), `session_id` (string), `status` (string)\n\n## Get Telnyx product usage data (BETA)\n\nGet Telnyx usage data by product, broken out by the specified dimensions\n\n`GET /usage_reports`\n\n```ruby\npage = client.usage_reports.list(dimensions: [\"string\"], metrics: [\"string\"], product: \"wireless\")\n\nputs(page)\n```\n\nReturns: `data` (array[object]), `meta` (object)\n\n## Get Usage Reports query options (BETA)\n\nGet the Usage Reports options for querying usage, including the products available and their respective metrics and dimensions\n\n`GET /usage_reports/options`\n\n```ruby\nresponse = client.usage_reports.get_options\n\nputs(response)\n```\n\nReturns: `product` (string), `product_dimensions` (array[string]), `product_metrics` (array[string]), `record_types` (array[object])\n\n## Get all Wireless Detail Records (WDRs) Reports\n\nReturns the WDR Reports that match the given parameters.\n\n`GET /wireless/detail_records_reports`\n\n```ruby\ndetail_records_reports = client.wireless.detail_records_reports.list\n\nputs(detail_records_reports)\n```\n\nReturns: `created_at` (string), `end_time` (string), `id` (uuid), `record_type` (string), `report_url` (string), `start_time` (string), `status` (enum: pending, complete, failed, deleted), `updated_at` (string)\n\n## Create a Wireless Detail Records (WDRs) Report\n\nAsynchronously create a report containing Wireless Detail Records (WDRs) for the SIM cards that consumed wireless data in the given time period.\n\n`POST /wireless/detail_records_reports`\n\nOptional: `end_time` (string), `start_time` (string)\n\n```ruby\ndetail_records_report = client.wireless.detail_records_reports.create\n\nputs(detail_records_report)\n```\n\nReturns: `created_at` (string), `end_time` (string), `id` (uuid), `record_type` (string), `report_url` (string), `start_time` (string), `status` (enum: pending, complete, failed, deleted), `updated_at` (string)\n\n## Get a Wireless Detail Record (WDR) Report\n\nReturns one specific WDR report\n\n`GET /wireless/detail_records_reports/{id}`\n\n```ruby\ndetail_records_report = client.wireless.detail_records_reports.retrieve(\"6a09cdc3-8948-47f0-aa62-74ac943d6c58\")\n\nputs(detail_records_report)\n```\n\nReturns: `created_at` (string), `end_time` (string), `id` (uuid), `record_type` (string), `report_url` (string), `start_time` (string), `status` (enum: pending, complete, failed, deleted), `updated_at` (string)\n\n## Delete a Wireless Detail Record (WDR) Report\n\nDeletes one specific WDR report.\n\n`DELETE /wireless/detail_records_reports/{id}`\n\n```ruby\ndetail_records_report = client.wireless.detail_records_reports.delete(\"6a09cdc3-8948-47f0-aa62-74ac943d6c58\")\n\nputs(detail_records_report)\n```\n\nReturns: `created_at` (string), `end_time` (string), `id` (uuid), `record_type` (string), `report_url` (string), `start_time` (string), `status` (enum: pending, complete, failed, deleted), `updated_at` (string)","tags":["telnyx","account","reports","ruby","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm"],"capabilities":["skill","source-team-telnyx","skill-telnyx-account-reports-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-reports-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 (26,196 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:43.128Z","embedding":null,"createdAt":"2026-04-18T22:06:11.152Z","updatedAt":"2026-04-22T12:54:43.128Z","lastSeenAt":"2026-04-22T12:54:43.128Z","tsv":"'+13125550001':78 '+13125550002':80 '-01':519,893,1731,1739,2257,2267 '-02':510,518,884,892,1730,1738 '-06':2261,2271 '-07':2256,2266 '-12':511,885 '-47':3095,3153 '-8948':3094,3152 '/call_events':221 '/ledger_billing_group_reports':259,315 '/legacy/reporting/batch_detail_records/messaging':384,463,596,679 '/legacy/reporting/batch_detail_records/voice':761,834,1004,1081 '/legacy/reporting/batch_detail_records/voice/fields':966 '/legacy/reporting/usage_reports/messaging':1157,1228,1292,1367 '/legacy/reporting/usage_reports/number_lookup':1437,1495,1558,1626 '/legacy/reporting/usage_reports/voice':1652,1723,1800,1875 '/phone_numbers/csv_downloads':1934,1959,1986 '/reports/cdr_usage_reports/sync':2059 '/reports/mdr_usage_reports':2162,2243,2443,2521 '/reports/mdr_usage_reports/sync':2371 '/reports/mdrs':2593 '/reports/wdrs':2660 '/session_analysis':2817 '/session_analysis/metadata':2728,2761 '/usage_reports':2880 '/usage_reports/options':2923 '/wireless/detail_records_reports':2962,3029,3086,3144 '0':1234 '00':521,895,1733,1741,2259,2260,2262,2269,2270,2272 '00z':522,896,1734,1742 '1':108 '182bd5e5':602,685,1010,1087,1298,1373,1806,1881,2451,2529,2827 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':601,684,1009,1086,1297,1372,1805,1880,2450,2528,2826 '2020':2255,2265 '2024':509,517,883,891,1729,1737 '24':218 '401':66,143 '403':147 '404':150 '41d4':1567,1634,1995 '422':62,129,154 '429':59,98,160 '4291':326 '446655440000':1569,1636,1997 '4fe4':604,687,1012,1089,1300,1375,1808,1883,2453,2531,2829 '550e8400':1564,1631,1992 '59':513,887 '59z':514,888 '6a09cdc3':3093,3151 '6e1a':603,686,1011,1088,1299,1374,1807,1882,2452,2530,2828 '74ac943d6c58':3099,3157 '84fe544797bd':329 '8ff0':325 'a0ac':328 'a0ac-84fe544797bd':327 'a716':1568,1635,1996 'a799':605,688,1013,1090,1301,1376,1809,1884,2454,2532,2830 'aa62':3098,3156 'aa6d9a6ab26e':606,689,1014,1091,1302,1377,1810,1885,2455,2533,2831 'account':3,7,484,500,787,859,872,919,1037,1114,1460,1518,1588 'actual':115 'aggreg':1164,1232,1238,1306,1381,1446,1504,1574,1659,1746,1814,1889,2064,2067,2075,2079,2152,2169,2173,2235,2249,2252,2278,2282,2376,2382,2386,2461,2465,2539,2543 'alias':2774 'alreadi':42 'alway':67 'analysi':2726,2798,2803,2824,2838 'api':22,26,50,123,145 'apiconnectionerror':86 'apistatuserror':120 'applic':205 'array':392,400,408,413,420,471,474,477,485,488,492,527,535,543,548,555,611,619,627,632,639,694,702,710,715,722,770,773,782,788,795,843,846,849,852,860,864,902,905,914,920,927,975,979,983,987,1020,1023,1032,1038,1045,1097,1100,1109,1115,1122,1168,1183,1242,1257,1310,1325,1385,1400,1461,1470,1519,1528,1589,1598,1663,1750,1818,1893,2085,2177,2200,2286,2309,2390,2413,2469,2492,2547,2570,2742,2775,2779,2789,2894,2935,2939,2943 'assum':39 'asynchron':3006 'aud':2614 'authent':64,381,758 'auto':171 'automat':175 'avail':950,956,2717,2915 'backoff':106,166 'bash':11 'begin':74 'beta':2866,2903 'bill':255,267,273,291,311,319,332,350,974,2082 'bodi':481 'boolean':482,501,857,873 'breakdown':1678,1765,1833,1908,2069,2071,2100,2103,2160 'broken':2873 'cad':2615 'call':51,184,187,228,232,246,768,841,900,1018,1095 'card':2698,3018 'cdr':748,753,820,826,951,963,992,998,1069,1075,1640,1648,1706,1715,1789,1794,1860,1869,2018 'check':90,109,133,157 'child':2777,2811 'cld':2601 'cli':2603 'client':19,40 'client.call_events.list':224 'client.ledger_billing_group_reports.create':270 'client.ledger_billing_group_reports.retrieve':322 'client.legacy.reporting.batch_detail_records.messaging.create':506 'client.legacy.reporting.batch_detail_records.messaging.delete':683 'client.legacy.reporting.batch_detail_records.messaging.list':387 'client.legacy.reporting.batch_detail_records.messaging.retrieve':600 'client.legacy.reporting.batch_detail_records.voice.create':880 'client.legacy.reporting.batch_detail_records.voice.delete':1085 'client.legacy.reporting.batch_detail_records.voice.list':764 'client.legacy.reporting.batch_detail_records.voice.retrieve':969,1008 'client.legacy.reporting.usage_reports.messaging.create':1231 'client.legacy.reporting.usage_reports.messaging.delete':1371 'client.legacy.reporting.usage_reports.messaging.list':1160 'client.legacy.reporting.usage_reports.messaging.retrieve':1296 'client.legacy.reporting.usage_reports.number_lookup.create':1499 'client.legacy.reporting.usage_reports.number_lookup.delete':1630 'client.legacy.reporting.usage_reports.number_lookup.list':1441 'client.legacy.reporting.usage_reports.number_lookup.retrieve':1563 'client.legacy.reporting.usage_reports.voice.create':1726 'client.legacy.reporting.usage_reports.voice.delete':1879 'client.legacy.reporting.usage_reports.voice.list':1655 'client.legacy.reporting.usage_reports.voice.retrieve':1804 'client.messages.send':76 'client.new':21 'client.phone_numbers.csv_downloads.create':1963 'client.phone_numbers.csv_downloads.list':1937 'client.phone_numbers.csv_downloads.retrieve':1991 'client.reports.cdr_usage_reports.fetch':2062 'client.reports.list':2596,2663 'client.reports.mdr_usage_reports.create':2248 'client.reports.mdr_usage_reports.delete':2527 'client.reports.mdr_usage_reports.fetch':2374 'client.reports.mdr_usage_reports.list':2165 'client.reports.mdr_usage_reports.retrieve':2449 'client.session_analysis.metadata.retrieve':2731,2766 'client.session_analysis.retrieve':2825 'client.usage_reports.get':2926 'client.usage_reports.list':2883 'client.wireless.detail_records_reports.create':3041 'client.wireless.detail_records_reports.delete':3150 'client.wireless.detail_records_reports.list':2967 'client.wireless.detail_records_reports.retrieve':3092 'code':72,142 'command':250 'common':140 'complet':300,359,436,571,655,738,1949,1976,2010,2131,2210,2319,2423,2502,2580,2840,2993,3067,3125,3183 'connect':91,391,470,526,610,693,772,845,904,1022,1099,1167,1241,1309,1384,1662,1749,1817,1892,2080,2084,2176,2285,2389,2468,2546 'consum':3020 'contain':3010 'cost':2605,2668,2810,2845 'countri':2108,2114 'coupl':2055,2367 'creat':252,277,336,394,444,451,529,613,696,775,817,823,907,1025,1102,1170,1205,1214,1244,1312,1387,1449,1507,1577,1665,1700,1709,1752,1820,1895,1954,2087,2179,2218,2288,2392,2471,2549,2607,2670,2847,2973,2999,3007,3047,3105,3163 'csv':1931,1956,1961,1965,1983,1989,1999 'currenc':2612 'data':978,986,1424,1433,1484,1491,1542,1551,1612,1619,2154,2237,2676,2710,2865,2870,2893,3022 'date':280,306,339,365,397,403,405,429,431,442,532,538,540,564,566,577,616,622,624,648,650,661,699,705,707,731,733,744,1173,1178,1196,1203,1247,1252,1270,1277,1315,1320,1338,1345,1390,1395,1413,1420,1452,1455,1456,1473,1474,1480,1510,1513,1514,1531,1532,1538,1580,1583,1584,1601,1602,1608,1668,1673,1691,1698,1755,1760,1778,1785,1823,1828,1846,1853,1898,1903,1921,1928,2090,2095,2126,2137,2182,2185,2187,2203,2205,2216,2254,2264,2291,2294,2296,2312,2314,2325,2395,2398,2400,2416,2418,2429,2474,2477,2479,2495,2497,2508,2552,2555,2557,2573,2575,2586,2610,2673,2843,2850 'date-tim':279,305,338,364,396,404,430,441,531,539,565,576,615,623,649,660,698,706,732,743,1172,1177,1195,1202,1246,1251,1269,1276,1314,1319,1337,1344,1389,1394,1412,1419,1451,1479,1509,1537,1579,1607,1667,1672,1690,1697,1754,1759,1777,1784,1822,1827,1845,1852,1897,1902,1920,1927,2089,2094,2125,2136,2181,2186,2204,2215,2290,2295,2313,2324,2394,2399,2417,2428,2473,2478,2496,2507,2551,2556,2574,2585,2609,2672,2842,2849 'default':31 'delay':116 'delet':302,361,663,669,678,1067,1072,1080,1347,1355,1366,1610,1615,1625,1855,1863,1874,2510,2514,2520,2995,3069,3127,3131,3138,3143,3185 'deliv':2642 'detail':370,376,448,455,583,590,666,673,2749,2948,2964,2969,3002,3012,3038,3043,3076,3089,3101,3134,3147,3159 'dimens':2878,2884,2921,2934 'direct':399,473,534,618,701,2619 'dlr':2643,2645 'downlink':2675 'download':1932,1957,1962,1966,1984,1990,2000 'durat':2678 'e':121 'e.message':126 'e.status':125,128 'e29b':1566,1633,1994 'e29b-41d4-a716':1565,1632,1993 'end':138,139,402,467,507,537,621,704,778,838,881,910,1028,1105,1175,1249,1317,1392,1454,1512,1582,1670,1727,1757,1825,1900,2092,2184,2253,2293,2397,2476,2554,2976,3031,3050,3108,3166 'endpoint':2029,2231,2341 'enum':245,249,289,298,348,357,434,569,653,736,1947,1974,2008,2077,2101,2129,2171,2208,2280,2317,2384,2421,2463,2500,2541,2578,2613,2625,2639,2991,3065,3123,3181 'env':24 'error':47,56,61,65,69,85,89,96,119,124,132,141,156 'eur':2616 'event':185,188,193,214,236,247,2781,2808,2812,2820 'exampl':37,2759,2783 'expir':438,573,657,740,1951,1978,2012,2133,2212,2321,2425,2504,2582 'exponenti':105,165 'f0':3097,3155 'f0-aa62-74ac943d6c58':3096,3154 'f5586561':324 'f5586561-8ff0':323 'fail':53,301,360,437,572,656,739,1950,1977,2011,2132,2211,2320,2424,2503,2581,2650,2994,3068,3126,3184 'fetch':1148,1284,1643,1792,2017,2023,2034,2139,2144,2329,2335,2346,2434,2588,2651,2655 'field':135,158,848,953,957,970 'filter':186,191,200,213,407,461,476,542,626,709,781,832,851,913,1031,1108,1226,1721 'format':137,159 'found':153 'free':2107,2112 'full':2801 'gbp':2617 'gem':12 'generat':2015,2021,2032,2327,2333,2344 'get':220,308,314,367,383,579,595,746,760,949,965,989,1003,1156,1279,1291,1436,1540,1557,1651,1787,1799,1933,1985,2058,2161,2370,2442,2592,2659,2712,2727,2744,2760,2796,2816,2861,2867,2879,2898,2904,2922,2945,2961,3073,3085 'given':190,2807,2959,3025 'group':256,268,274,292,312,320,333,351,2083,2702,2706 'gw':2640,2648 'handl':48,68 'header':113 'hello':82 'hour':219 'id':203,207,230,234,282,285,316,341,344,410,545,594,597,629,677,680,712,784,916,1002,1005,1034,1079,1082,1111,1180,1254,1290,1293,1322,1365,1368,1397,1457,1515,1546,1556,1559,1585,1624,1627,1675,1762,1798,1801,1830,1873,1876,1905,1941,1968,1987,2002,2097,2189,2298,2402,2441,2444,2481,2519,2522,2559,2621,2681,2699,2703,2821,2857,2979,3053,3087,3111,3145,3169 'import':167 'imsi':2683 'includ':479,854,2756,2809,2912 'inform':982 'initi':43 'instal':10,13 'insuffici':148 'int32':804,811,936,943,1054,1061,1131,1138,1166,1199,1240,1273,1308,1341,1383,1416,1661,1679,1694,1748,1766,1781,1816,1834,1849,1891,1909,1924 'integ':262,264,393,472,475,493,528,612,695,771,774,796,844,847,865,903,906,928,1021,1024,1046,1098,1101,1123,2086,2178,2287,2391,2470,2548 'interact':977 'invalid':144 'item':180 'item.id':182 'iter':176 'key':23,27,146 'last':217 'ledger':254,266,272,290,310,318,331,349 'leg':202,229 'legaci':1208,1217,1350,1359,1703,1712,1858,1867 'limit':58,100,162 'linkag':2815 'list':183,1144,1422,1430,1639,1930 'lookup':1440,1444,1498,1502,1562,1572 'manag':483,499,786,858,871,918,1036,1113,1459,1517,1587 'match':2957 'may':2050,2362 'mcc':2685 'mdr':369,375,447,454,582,589,665,672,1145,1153,1211,1220,1281,1286,1352,1361,2219,2245,2274,2330,2446,2457,2511,2524,2535,2590 'mdrs':2597 'messag':386,389,480,505,524,599,608,682,691,1230,1236,1295,1304,1370,1379,2141,2146,2153,2227,2236,2336,2348,2432,2437,2515,2623 'meta':2735,2785,2852,2896 'metadata':239,856,2713,2730,2733,2747,2750 'metric':2886,2919,2938 'minut':2057,2369 'mms':2627 'mnc':2687 'month':261 'name':241,423,495,558,642,725,798,867,930,1048,1125,2631,2707 'necessari':2046,2358 'network':55,88 'new':446,453,819,825,1207,1216,1489,1702,1711,2225,2226 'note':168 'number':981,1439,1443,1497,1501,1561,1571,2629,2680,2690 'object':240,409,478,544,628,711,783,853,915,1033,1110,1192,1266,1334,1409,1471,1529,1599,1687,1774,1842,1917,2122,2201,2310,2414,2493,2571,2669,2677,2693,2711,2736,2739,2743,2780,2784,2786,2790,2846,2853,2855,2895,2897,2944 'occur':197 'omit':35 'one':3081,3139 'option':260,469,840,2902,2908,2927,3030 'order':195 'organ':284,343 'overview':2714 'page':172,178,223,226,1159,1162,1654,1657,1936,1939,2164,2167,2662,2666,2882,2891 'page.auto':177 'pagin':169,1429 'paramet':192,2723,2738,2960 'parent':2787 'part':2628 'pend':299,358,435,570,654,737,1948,1975,2009,2130,2209,2318,2422,2501,2579,2992,3066,3124,3182 'per':2113 'period':2042,2158,2241,2354,3027 'permiss':149 'phone':2689 'poll':2044,2356 'post':258,462,833,1227,1494,1722,1958,2242,3028 'present':210 'previous':1150,1645 'product':71,1677,1764,1832,1907,2068,2099,2791,2814,2863,2872,2888,2914,2931,2933,2937 'profil':412,487,547,631,714,1182,1256,1324,1399,2174,2191,2283,2300,2378,2387,2404,2466,2483,2544,2561,2630 'pull':2233 'put':87,122,130,181,225,271,330,388,523,607,690,765,897,971,1015,1092,1161,1235,1303,1378,1442,1500,1570,1637,1656,1743,1811,1886,1938,1964,1998,2072,2166,2273,2379,2456,2534,2598,2665,2732,2771,2836,2890,2928,2968,3042,3100,3158 'queri':2722,2737,2901,2910 'rate':57,99,161,2633,2692 'ratelimiterror':97 'receiv':2647 'record':243,287,346,415,418,490,550,553,634,637,717,720,790,793,862,922,925,1040,1043,1117,1120,1185,1259,1327,1402,1463,1521,1591,1680,1767,1835,1910,1943,1970,2004,2115,2193,2302,2406,2485,2563,2591,2635,2654,2658,2694,2718,2740,2745,2754,2762,2767,2769,2793,2818,2832,2834,2941,2949,2965,2970,2981,3003,3013,3039,3044,3055,3077,3090,3102,3113,3135,3148,3160,3171 'reject':2649 'relationship':2757,2778,2788 'report':4,8,257,269,275,293,294,313,321,334,352,353,371,377,422,425,449,456,494,557,560,584,591,641,644,667,674,724,727,749,754,797,800,821,827,866,929,932,952,964,993,999,1047,1050,1070,1076,1124,1127,1147,1155,1188,1212,1221,1262,1283,1288,1330,1353,1362,1405,1426,1435,1466,1486,1493,1524,1544,1553,1594,1614,1621,1642,1650,1683,1707,1716,1770,1791,1796,1838,1861,1870,1913,2020,2026,2037,2118,2143,2148,2150,2196,2221,2229,2247,2276,2305,2332,2338,2349,2409,2433,2439,2448,2459,2488,2513,2517,2526,2537,2566,2900,2907,2951,2955,2966,2971,2984,3005,3009,3040,3045,3058,3079,3084,3091,3103,3116,3137,3142,3149,3161,3174 'request':372,378,450,457,585,592,668,675,750,755,822,828,994,1000,1071,1077,1151,1213,1222,1354,1363,1646,1708,1717,1862,1871,2223 'requir':17,134,464,835 'rescu':83,94,117 'resourc':151 'respect':2918 'respons':968,972,2049,2061,2073,2361,2373,2380,2595,2599,2765,2772,2925,2929 'result':75,1191,1265,1333,1408,1469,1527,1597,1629,1638,1686,1773,1841,1916,2121,2199,2308,2412,2491,2569 'retri':93,103,111,163,803,935,1053,1130 'retriev':373,586,751,954,995,1427,1547,1981,2431,2799 'retry-aft':110 'return':227,276,335,390,525,609,692,767,899,973,1017,1094,1163,1237,1305,1380,1445,1503,1573,1658,1745,1813,1888,1940,1967,2001,2074,2168,2277,2381,2460,2538,2600,2667,2715,2734,2748,2773,2839,2892,2930,2952,2972,3046,3080,3104,3162 'root':2854 'rubi':5,9,16,73,222,265,317,385,504,598,681,762,878,967,1006,1083,1158,1229,1294,1369,1438,1496,1560,1628,1653,1724,1802,1877,1935,1960,1988,2060,2163,2244,2372,2445,2523,2594,2661,2729,2764,2822,2881,2924,2963,3037,3088,3146 'second':2679 'select':497,869 'session':206,233,2725,2797,2802,2823,2837,2856 'setup':15 'shown':45 'sim':2697,2701,2705,3017 'singl':1285,1793,2436 'skill' 'skill-telnyx-account-reports-ruby' 'sleep':107 'sms':2626 'sourc':805,874,937,1055,1132 'source-team-telnyx' 'specif':581,588,671,991,997,1074,1357,1549,1617,1865,2753,3082,3140 'specifi':460,831,1225,1720,2040,2156,2239,2352,2877 'start':428,465,515,563,647,730,807,836,889,939,1057,1134,1193,1267,1335,1410,1472,1530,1600,1688,1735,1775,1843,1918,2123,2202,2263,2311,2415,2494,2572,2987,3034,3061,3119,3177 'status':297,356,433,568,652,735,810,942,1060,1137,1198,1272,1340,1415,1475,1533,1603,1693,1780,1848,1923,1946,1973,2007,2128,2207,2316,2420,2499,2577,2638,2859,2990,3064,3122,3180 'string':231,235,238,242,401,414,417,421,424,427,486,489,496,503,536,549,552,556,559,562,620,633,636,640,643,646,703,716,719,723,726,729,777,780,785,789,792,799,802,806,809,813,816,850,861,868,875,877,909,912,917,921,924,931,934,938,941,945,948,976,980,984,988,1027,1030,1035,1039,1042,1049,1052,1056,1059,1063,1066,1104,1107,1112,1116,1119,1126,1129,1133,1136,1140,1143,1169,1184,1187,1190,1243,1258,1261,1264,1311,1326,1329,1332,1386,1401,1404,1407,1448,1462,1465,1468,1476,1506,1520,1523,1526,1534,1576,1590,1593,1596,1604,1664,1682,1685,1751,1769,1772,1819,1837,1840,1894,1912,1915,1942,1945,1953,1969,1972,1980,2003,2006,2014,2117,2120,2192,2195,2198,2301,2304,2307,2405,2408,2411,2484,2487,2490,2562,2565,2568,2602,2604,2606,2620,2622,2632,2634,2637,2682,2684,2686,2688,2691,2696,2700,2704,2708,2776,2782,2792,2795,2858,2860,2885,2887,2932,2936,2940,2975,2978,2983,2986,2989,2998,3033,3036,3049,3052,3057,3060,3063,3072,3107,3110,3115,3118,3121,3130,3165,3168,3173,3176,3179,3188 'submit':1482,1487,2222 'support':2721 'sync':2063,2375 'synchron':2027,2339 't00':520,894,1732,1740,2258,2268 't23':512,886 'tag':2081,2175,2284,2388,2467,2545 'take':2051,2363 'telco':1423,1432,1483,1490,1541,1550,1611,1618 'telephoni':985 'telnyx':2,6,14,18,20,25,84,95,118,2862,2868 'telnyx-account-reports-rubi':1 'text':81 'time':281,307,340,366,398,406,432,443,466,468,508,516,533,541,567,578,617,625,651,662,700,708,734,745,779,808,837,839,882,890,911,940,1029,1058,1106,1135,1174,1176,1179,1194,1197,1204,1248,1250,1253,1268,1271,1278,1316,1318,1321,1336,1339,1346,1391,1393,1396,1411,1414,1421,1453,1481,1511,1539,1581,1609,1669,1671,1674,1689,1692,1699,1728,1736,1756,1758,1761,1776,1779,1786,1824,1826,1829,1844,1847,1854,1899,1901,1904,1919,1922,1929,2041,2091,2093,2096,2124,2127,2138,2157,2183,2188,2206,2217,2240,2292,2297,2315,2326,2353,2396,2401,2419,2430,2475,2480,2498,2509,2553,2558,2576,2587,2611,2674,2844,2851,2977,2988,3026,3032,3035,3051,3062,3109,3120,3167,3178 'timeout':2641,2646 'timestamp':237 'timezon':502,812,876,944,1062,1139 'toll':2106,2111 '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' 'tree':2804 'type':244,248,288,347,416,419,491,551,554,635,638,718,721,769,791,794,842,863,901,923,926,1019,1041,1044,1096,1118,1121,1165,1186,1233,1239,1260,1307,1328,1382,1403,1447,1464,1505,1522,1575,1592,1660,1681,1747,1768,1815,1836,1890,1911,1944,1971,2005,2065,2076,2116,2170,2194,2250,2279,2303,2377,2383,2407,2462,2486,2540,2564,2624,2636,2695,2719,2741,2746,2755,2763,2768,2770,2794,2819,2833,2835,2942,2982,3056,3114,3172 'unconfirm':2644 'updat':303,362,439,574,658,741,814,946,1064,1141,1200,1274,1342,1417,1477,1535,1605,1695,1782,1850,1925,2134,2213,2322,2426,2505,2583,2996,3070,3128,3186 'uplink':2709 'uri':296,355 'url':295,354,426,561,645,728,801,933,1051,1128,1189,1263,1331,1406,1467,1525,1595,1684,1771,1839,1914,1952,1979,2013,2119,2197,2306,2410,2489,2567,2985,3059,3117,3175 'usag':1146,1154,1209,1218,1282,1287,1351,1360,1425,1434,1485,1492,1543,1552,1613,1620,1641,1649,1704,1713,1790,1795,1859,1868,2019,2025,2142,2147,2149,2220,2228,2246,2275,2331,2337,2438,2447,2458,2512,2516,2525,2536,2864,2869,2899,2906,2911 'usd':2618 'use':170,961 'user':382,759 'uuid':283,286,342,345,411,546,630,713,1181,1255,1323,1398,1458,1516,1586,1676,1763,1831,1906,2098,2190,2299,2403,2482,2560,2980,3054,3112,3170 'v2':1210,1219,1349,1358,1705,1714,1857,1866 'valid':60,131,155 'voic':763,766,879,898,1007,1016,1084,1093,1725,1744,1803,1812,1878,1887,2024,2036 'vs':2105,2110 'wait':101 'wdr':2653,2657,2954,3078,3083,3136,3141 'wdrs':2664,2950,3004,3014 'webhook':251 'wireless':2889,2947,3001,3011,3021,3075,3133 'year':263","prices":[{"id":"6f5097b8-8f28-4a93-9f55-a56005e88d40","listingId":"448fa03b-817c-44a7-b6e9-457c0ebc6b54","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:11.152Z"}],"sources":[{"listingId":"448fa03b-817c-44a7-b6e9-457c0ebc6b54","source":"github","sourceId":"team-telnyx/ai/telnyx-account-reports-ruby","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-account-reports-ruby","isPrimary":false,"firstSeenAt":"2026-04-18T22:06:11.152Z","lastSeenAt":"2026-04-22T12:54:43.128Z"}],"details":{"listingId":"448fa03b-817c-44a7-b6e9-457c0ebc6b54","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-account-reports-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":"3c20fc58588da48c581fb3902d610e2fbe639ad4","skill_md_path":"skills/telnyx-account-reports-ruby/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-account-reports-ruby"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-account-reports-ruby","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-account-reports-ruby"},"updatedAt":"2026-04-22T12:54:43.128Z"}}