{"id":"1b20c355-0f03-4a9f-aac2-61e20607cb29","shortId":"8Tust8","kind":"skill","title":"telnyx-account-reports-go","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Account Reports - Go\n\n## Installation\n\n```bash\ngo get github.com/team-telnyx/telnyx-go\n```\n\n## Setup\n\n```go\nimport (\n  \"context\"\n  \"fmt\"\n  \"os\"\n\n  \"github.com/team-telnyx/telnyx-go\"\n  \"github.com/team-telnyx/telnyx-go/option\"\n)\n\nclient := telnyx.NewClient(\n  option.WithAPIKey(os.Getenv(\"TELNYX_API_KEY\")),\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```go\nimport \"errors\"\n\nresult, err := client.Messages.Send(ctx, params)\nif err != nil {\n  var apiErr *telnyx.Error\n  if errors.As(err, &apiErr) {\n    switch apiErr.StatusCode {\n    case 422:\n      fmt.Println(\"Validation error — check required fields and formats\")\n    case 429:\n      // Rate limited — wait and retry with exponential backoff\n      fmt.Println(\"Rate limited, retrying...\")\n    default:\n      fmt.Printf(\"API error %d: %s\\n\", apiErr.StatusCode, apiErr.Error())\n    }\n  } else {\n    fmt.Println(\"Network error — check connectivity and retry\")\n  }\n}\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 `ListAutoPaging()` for automatic iteration: `iter := client.Resource.ListAutoPaging(ctx, params); for iter.Next() { item := iter.Current() }`.\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```go\n\tpage, err := client.CallEvents.List(context.Background(), telnyx.CallEventListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", 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```go\n\tledgerBillingGroupReport, err := client.LedgerBillingGroupReports.New(context.Background(), telnyx.LedgerBillingGroupReportNewParams{\n\t\tMonth: telnyx.Int(10),\n\t\tYear:  telnyx.Int(2019),\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", ledgerBillingGroupReport.Data)\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```go\n\tledgerBillingGroupReport, err := client.LedgerBillingGroupReports.Get(context.Background(), \"f5586561-8ff0-4291-a0ac-84fe544797bd\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", ledgerBillingGroupReport.Data)\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```go\n\tmessagings, err := client.Legacy.Reporting.BatchDetailRecords.Messaging.List(context.Background())\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", messagings.Data)\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```go\n\tmessaging, err := client.Legacy.Reporting.BatchDetailRecords.Messaging.New(context.Background(), telnyx.LegacyReportingBatchDetailRecordMessagingNewParams{\n\t\tEndTime:   time.Now(),\n\t\tStartTime: time.Now(),\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", messaging.Data)\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```go\n\tmessaging, err := client.Legacy.Reporting.BatchDetailRecords.Messaging.Get(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", messaging.Data)\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```go\n\tmessaging, err := client.Legacy.Reporting.BatchDetailRecords.Messaging.Delete(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", messaging.Data)\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```go\n\tvoices, err := client.Legacy.Reporting.BatchDetailRecords.Voice.List(context.Background())\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", voices.Data)\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```go\n\tvoice, err := client.Legacy.Reporting.BatchDetailRecords.Voice.New(context.Background(), telnyx.LegacyReportingBatchDetailRecordVoiceNewParams{\n\t\tEndTime:   time.Now(),\n\t\tStartTime: time.Now(),\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", voice.Data)\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```go\n\tresponse, err := client.Legacy.Reporting.BatchDetailRecords.Voice.GetFields(context.Background())\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Billing)\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```go\n\tvoice, err := client.Legacy.Reporting.BatchDetailRecords.Voice.Get(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", voice.Data)\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```go\n\tvoice, err := client.Legacy.Reporting.BatchDetailRecords.Voice.Delete(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", voice.Data)\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```go\n\tpage, err := client.Legacy.Reporting.UsageReports.Messaging.List(context.Background(), telnyx.LegacyReportingUsageReportMessagingListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", 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```go\n\tmessaging, err := client.Legacy.Reporting.UsageReports.Messaging.New(context.Background(), telnyx.LegacyReportingUsageReportMessagingNewParams{\n\t\tAggregationType: 0,\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", messaging.Data)\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```go\n\tmessaging, err := client.Legacy.Reporting.UsageReports.Messaging.Get(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", messaging.Data)\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```go\n\tmessaging, err := client.Legacy.Reporting.UsageReports.Messaging.Delete(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", messaging.Data)\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```go\n\tnumberLookups, err := client.Legacy.Reporting.UsageReports.NumberLookup.List(context.Background())\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", numberLookups.Data)\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```go\n\tnumberLookup, err := client.Legacy.Reporting.UsageReports.NumberLookup.New(context.Background(), telnyx.LegacyReportingUsageReportNumberLookupNewParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", numberLookup.Data)\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```go\n\tnumberLookup, err := client.Legacy.Reporting.UsageReports.NumberLookup.Get(context.Background(), \"id\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", numberLookup.Data)\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```go\n\terr := client.Legacy.Reporting.UsageReports.NumberLookup.Delete(context.Background(), \"id\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\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```go\n\tpage, err := client.Legacy.Reporting.UsageReports.Voice.List(context.Background(), telnyx.LegacyReportingUsageReportVoiceListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", 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```go\n\tvoice, err := client.Legacy.Reporting.UsageReports.Voice.New(context.Background(), telnyx.LegacyReportingUsageReportVoiceNewParams{\n\t\tEndTime:   time.Now(),\n\t\tStartTime: time.Now(),\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", voice.Data)\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```go\n\tvoice, err := client.Legacy.Reporting.UsageReports.Voice.Get(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", voice.Data)\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```go\n\tvoice, err := client.Legacy.Reporting.UsageReports.Voice.Delete(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", voice.Data)\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```go\n\tpage, err := client.PhoneNumbers.CsvDownloads.List(context.Background(), telnyx.PhoneNumberCsvDownloadListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", 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```go\n\tcsvDownload, err := client.PhoneNumbers.CsvDownloads.New(context.Background(), telnyx.PhoneNumberCsvDownloadNewParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", csvDownload.Data)\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```go\n\tcsvDownload, err := client.PhoneNumbers.CsvDownloads.Get(context.Background(), \"id\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", csvDownload.Data)\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```go\n\tresponse, err := client.Reports.CdrUsageReports.FetchSync(context.Background(), telnyx.ReportCdrUsageReportFetchSyncParams{\n\t\tAggregationType:  telnyx.ReportCdrUsageReportFetchSyncParamsAggregationTypeNoAggregation,\n\t\tProductBreakdown: telnyx.ReportCdrUsageReportFetchSyncParamsProductBreakdownNoBreakdown,\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Data)\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```go\n\tpage, err := client.Reports.MdrUsageReports.List(context.Background(), telnyx.ReportMdrUsageReportListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", 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```go\n\tmdrUsageReport, err := client.Reports.MdrUsageReports.New(context.Background(), telnyx.ReportMdrUsageReportNewParams{\n\t\tAggregationType: telnyx.ReportMdrUsageReportNewParamsAggregationTypeNoAggregation,\n\t\tEndDate:         time.Now(),\n\t\tStartDate:       time.Now(),\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", mdrUsageReport.Data)\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```go\n\tresponse, err := client.Reports.MdrUsageReports.FetchSync(context.Background(), telnyx.ReportMdrUsageReportFetchSyncParams{\n\t\tAggregationType: telnyx.ReportMdrUsageReportFetchSyncParamsAggregationTypeProfile,\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Data)\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```go\n\tmdrUsageReport, err := client.Reports.MdrUsageReports.Get(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", mdrUsageReport.Data)\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```go\n\tmdrUsageReport, err := client.Reports.MdrUsageReports.Delete(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", mdrUsageReport.Data)\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```go\n\tresponse, err := client.Reports.ListMdrs(context.Background(), telnyx.ReportListMdrsParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Data)\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```go\n\tpage, err := client.Reports.ListWdrs(context.Background(), telnyx.ReportListWdrsParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", 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```go\n\tmetadata, err := client.SessionAnalysis.Metadata.Get(context.Background())\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", metadata.Meta)\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```go\n\tresponse, err := client.SessionAnalysis.Metadata.GetRecordType(context.Background(), \"record_type\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Aliases)\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```go\n\tsessionAnalysis, err := client.SessionAnalysis.Get(\n\t\tcontext.Background(),\n\t\t\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n\t\ttelnyx.SessionAnalysisGetParams{\n\t\t\tRecordType: \"record_type\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", sessionAnalysis.SessionID)\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```go\n\tpage, err := client.UsageReports.List(context.Background(), telnyx.UsageReportListParams{\n\t\tDimensions: []string{\"string\"},\n\t\tMetrics:    []string{\"string\"},\n\t\tProduct: \"wireless\",\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", 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```go\n\tresponse, err := client.UsageReports.GetOptions(context.Background(), telnyx.UsageReportGetOptionsParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Data)\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```go\n\tdetailRecordsReports, err := client.Wireless.DetailRecordsReports.List(context.Background(), telnyx.WirelessDetailRecordsReportListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", detailRecordsReports.Data)\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```go\n\tdetailRecordsReport, err := client.Wireless.DetailRecordsReports.New(context.Background(), telnyx.WirelessDetailRecordsReportNewParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", detailRecordsReport.Data)\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```go\n\tdetailRecordsReport, err := client.Wireless.DetailRecordsReports.Get(context.Background(), \"6a09cdc3-8948-47f0-aa62-74ac943d6c58\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", detailRecordsReport.Data)\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```go\n\tdetailRecordsReport, err := client.Wireless.DetailRecordsReports.Delete(context.Background(), \"6a09cdc3-8948-47f0-aa62-74ac943d6c58\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", detailRecordsReport.Data)\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","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk"],"capabilities":["skill","source-team-telnyx","skill-telnyx-account-reports-go","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-go","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 (30,873 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T12:54:42.755Z","embedding":null,"createdAt":"2026-04-18T22:06:07.735Z","updatedAt":"2026-04-22T12:54:42.755Z","lastSeenAt":"2026-04-22T12:54:42.755Z","tsv":"'-47':3364,3427 '-8948':3363,3426 '/call_events':215 '/ledger_billing_group_reports':263,329 '/legacy/reporting/batch_detail_records/messaging':401,489,620,712 '/legacy/reporting/batch_detail_records/voice':803,885,1061,1147 '/legacy/reporting/batch_detail_records/voice/fields':1015 '/legacy/reporting/usage_reports/messaging':1232,1313,1386,1470 '/legacy/reporting/usage_reports/number_lookup':1549,1614,1685,1755 '/legacy/reporting/usage_reports/voice':1780,1861,1936,2020 '/phone_numbers/csv_downloads':2088,2123,2158 '/reports/cdr_usage_reports/sync':2233 '/reports/mdr_usage_reports':2341,2432,2628,2711 '/reports/mdr_usage_reports/sync':2548 '/reports/mdrs':2788 '/reports/wdrs':2864 '/session_analysis':3046 '/session_analysis/metadata':2941,2983 '/team-telnyx/telnyx-go':16,25 '/team-telnyx/telnyx-go/option':28 '/usage_reports':3116 '/usage_reports/options':3171 '/wireless/detail_records_reports':3219,3292,3355,3418 '0':1321 '10':277 '182bd5e5':628,720,1069,1155,1394,1478,1944,2028,2636,2719,3057 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':627,719,1068,1154,1393,1477,1943,2027,2635,2718,3056 '2019':280 '24':212 '401':66,137 '403':141 '404':144 '422':62,94,148 '429':59,104,154 '4291':339 '4fe4':630,722,1071,1157,1396,1480,1946,2030,2638,2721,3059 '6a09cdc3':3362,3425 '6e1a':629,721,1070,1156,1395,1479,1945,2029,2637,2720,3058 '74ac943d6c58':3368,3431 '84fe544797bd':342 '8ff0':338 'a0ac':341 'a0ac-84fe544797bd':340 'a799':631,723,1072,1158,1397,1481,1947,2031,2639,2722,3060 'aa62':3367,3430 'aa6d9a6ab26e':632,724,1073,1159,1398,1482,1948,2032,2640,2723,3061 'account':3,7,510,526,838,910,923,968,1103,1189,1579,1645,1717 'aggreg':1249,1332,1409,1493,1565,1631,1703,1797,1882,1959,2043,2254,2258,2331,2358,2362,2424,2455,2459,2567,2571,2651,2655,2734,2738 'aggregationtyp':1320,2240,2439,2555 'alias':3003 'alreadi':42 'alway':67 'analysi':2939,3027,3032 'api':34,50,119,139 'apierr':85,90 'apierr.error':125 'apierr.statuscode':92,124 'applic':199 'array':418,426,434,439,446,497,500,503,511,514,518,551,559,567,572,579,644,652,660,665,672,736,744,752,757,764,821,824,833,839,846,894,897,900,903,911,915,951,954,963,969,976,1032,1036,1040,1044,1086,1089,1098,1104,1111,1172,1175,1184,1190,1197,1253,1268,1336,1351,1413,1428,1497,1512,1580,1589,1646,1655,1718,1727,1801,1886,1963,2047,2264,2366,2389,2463,2486,2575,2598,2659,2682,2742,2765,2964,3004,3008,3018,3142,3192,3196,3200 'assum':39 'asynchron':3269 'aud':2818 'authent':64,398,800 'automat':167 'avail':999,1005,2930,3163 'backoff':112,160 'bash':11 'beta':3102,3151 'bill':259,305,325,367,1031,2261 'bodi':507 'boolean':508,527,908,924 'breakdown':1816,1901,1978,2062,2279,2282,2339 'broken':3109 'cad':2819 'call':51,178,181,232,236,250,819,892,949,1084,1170 'card':2911,3281 'case':93,103 'cdr':790,795,871,877,1000,1012,1049,1055,1135,1141,1768,1776,1844,1853,1925,1930,2005,2014,2192 'check':98,130,151 'child':3006,3040 'cld':2805 'cli':2807 'client':29,40 'client.callevents.list':219 'client.ledgerbillinggroupreports.get':334 'client.ledgerbillinggroupreports.new':272 'client.legacy.reporting.batchdetailrecords.messaging.delete':717 'client.legacy.reporting.batchdetailrecords.messaging.get':625 'client.legacy.reporting.batchdetailrecords.messaging.list':405 'client.legacy.reporting.batchdetailrecords.messaging.new':533 'client.legacy.reporting.batchdetailrecords.voice.delete':1152 'client.legacy.reporting.batchdetailrecords.voice.get':1066 'client.legacy.reporting.batchdetailrecords.voice.getfields':1019 'client.legacy.reporting.batchdetailrecords.voice.list':807 'client.legacy.reporting.batchdetailrecords.voice.new':932 'client.legacy.reporting.usagereports.messaging.delete':1475 'client.legacy.reporting.usagereports.messaging.get':1391 'client.legacy.reporting.usagereports.messaging.list':1236 'client.legacy.reporting.usagereports.messaging.new':1317 'client.legacy.reporting.usagereports.numberlookup.delete':1759 'client.legacy.reporting.usagereports.numberlookup.get':1690 'client.legacy.reporting.usagereports.numberlookup.list':1553 'client.legacy.reporting.usagereports.numberlookup.new':1618 'client.legacy.reporting.usagereports.voice.delete':2025 'client.legacy.reporting.usagereports.voice.get':1941 'client.legacy.reporting.usagereports.voice.list':1784 'client.legacy.reporting.usagereports.voice.new':1865 'client.messages.send':78 'client.phonenumbers.csvdownloads.get':2163 'client.phonenumbers.csvdownloads.list':2092 'client.phonenumbers.csvdownloads.new':2127 'client.reports.cdrusagereports.fetchsync':2237 'client.reports.listmdrs':2792 'client.reports.listwdrs':2868 'client.reports.mdrusagereports.delete':2716 'client.reports.mdrusagereports.fetchsync':2552 'client.reports.mdrusagereports.get':2633 'client.reports.mdrusagereports.list':2345 'client.reports.mdrusagereports.new':2436 'client.resource.listautopaging':170 'client.sessionanalysis.get':3054 'client.sessionanalysis.metadata.get':2945 'client.sessionanalysis.metadata.getrecordtype':2989 'client.usagereports.getoptions':3175 'client.usagereports.list':3120 'client.wireless.detailrecordsreports.delete':3423 'client.wireless.detailrecordsreports.get':3360 'client.wireless.detailrecordsreports.list':3223 'client.wireless.detailrecordsreports.new':3303 'code':72,136 'command':254 'common':134 'complet':314,376,462,595,688,780,2113,2148,2184,2310,2399,2496,2608,2692,2775,3076,3256,3336,3399,3462 'connect':131,417,496,550,643,735,823,896,953,1088,1174,1252,1335,1412,1496,1800,1885,1962,2046,2259,2263,2365,2462,2574,2658,2741 'consum':3283 'contain':3273 'context':20 'context.background':220,273,335,406,534,626,718,808,933,1020,1067,1153,1237,1318,1392,1476,1554,1619,1691,1760,1785,1866,1942,2026,2093,2128,2164,2238,2346,2437,2553,2634,2717,2793,2869,2946,2990,3055,3121,3176,3224,3304,3361,3424 'cost':2809,2881,3039,3081 'countri':2287,2293 'coupl':2229,2544 'creat':256,291,353,420,470,477,553,646,738,826,868,874,956,1091,1177,1255,1290,1299,1338,1415,1499,1568,1634,1706,1803,1838,1847,1888,1965,2049,2118,2266,2368,2407,2465,2577,2661,2744,2811,2883,3083,3236,3262,3270,3316,3379,3442 'csv':2085,2120,2155 'csvdownload':2125,2161 'csvdownload.data':2138,2174 'ctx':79,171 'currenc':2816 'd':121 'data':1035,1043,1536,1545,1603,1610,1669,1678,1741,1748,2333,2426,2889,2923,3101,3106,3141,3285 'date':294,320,356,382,423,429,431,455,457,468,556,562,564,588,590,601,649,655,657,681,683,694,741,747,749,773,775,786,1258,1263,1281,1288,1341,1346,1364,1371,1418,1423,1441,1448,1502,1507,1525,1532,1571,1574,1575,1592,1593,1599,1637,1640,1641,1658,1659,1665,1709,1712,1713,1730,1731,1737,1806,1811,1829,1836,1891,1896,1914,1921,1968,1973,1991,1998,2052,2057,2075,2082,2269,2274,2305,2316,2371,2374,2376,2392,2394,2405,2468,2471,2473,2489,2491,2502,2580,2583,2585,2601,2603,2614,2664,2667,2669,2685,2687,2698,2747,2750,2752,2768,2770,2781,2814,2886,3079,3086 'date-tim':293,319,355,381,422,430,456,467,555,563,589,600,648,656,682,693,740,748,774,785,1257,1262,1280,1287,1340,1345,1363,1370,1417,1422,1440,1447,1501,1506,1524,1531,1570,1598,1636,1664,1708,1736,1805,1810,1828,1835,1890,1895,1913,1920,1967,1972,1990,1997,2051,2056,2074,2081,2268,2273,2304,2315,2370,2375,2393,2404,2467,2472,2490,2501,2579,2584,2602,2613,2663,2668,2686,2697,2746,2751,2769,2780,2813,2885,3078,3085 'default':117 'delet':316,378,696,702,711,1133,1138,1146,1450,1458,1469,1739,1744,1754,2000,2008,2019,2700,2704,2710,3258,3338,3401,3405,3412,3417,3464 'deliv':2846 'detail':387,393,474,481,607,614,699,706,2971,3205,3265,3275,3345,3408 'detailrecordsreport':3221,3301,3358,3421 'detailrecordsreport.data':3314,3377,3440 'detailrecordsreports.data':3234 'dimens':3114,3123,3169,3191 'direct':425,499,558,651,743,2823 'dlr':2847,2849 'downlink':2888 'download':2086,2121,2156 'durat':2891 'els':126 'end':428,493,561,654,746,829,889,959,1094,1180,1260,1343,1420,1504,1573,1639,1711,1808,1893,1970,2054,2271,2373,2470,2582,2666,2749,3239,3294,3319,3382,3445 'enddat':2441 'endpoint':2203,2420,2518 'endtim':536,935,1868 'enum':249,253,303,312,365,374,460,593,686,778,2111,2146,2182,2256,2280,2308,2360,2397,2457,2494,2569,2606,2653,2690,2736,2773,2817,2829,2843,3254,3334,3397,3460 'err':77,82,89,218,223,226,271,282,285,333,344,347,404,408,411,532,541,544,624,634,637,716,726,729,806,810,813,931,940,943,1018,1022,1025,1065,1075,1078,1151,1161,1164,1235,1240,1243,1316,1323,1326,1390,1400,1403,1474,1484,1487,1552,1556,1559,1617,1622,1625,1689,1694,1697,1758,1763,1766,1783,1788,1791,1864,1873,1876,1940,1950,1953,2024,2034,2037,2091,2096,2099,2126,2131,2134,2162,2167,2170,2236,2245,2248,2344,2349,2352,2435,2446,2449,2551,2558,2561,2632,2642,2645,2715,2725,2728,2791,2796,2799,2867,2872,2875,2944,2948,2951,2988,2994,2997,3053,3067,3070,3119,3132,3135,3174,3179,3182,3222,3227,3230,3302,3307,3310,3359,3370,3373,3422,3433,3436 'error':47,56,61,65,69,75,97,120,129,135,150 'errors.as':88 'eur':2820 'event':179,182,187,208,240,251,3010,3037,3041,3049 'exampl':37,2981,3012 'expir':464,597,690,782,2115,2150,2186,2312,2401,2498,2610,2694,2777 'exponenti':111,159 'f0':3366,3429 'f0-aa62-74ac943d6c58':3365,3428 'f5586561':337 'f5586561-8ff0':336 'fail':53,315,377,463,596,689,781,2114,2149,2185,2311,2400,2497,2609,2693,2776,2854,3257,3337,3400,3463 'fetch':1223,1378,1771,1928,2191,2197,2208,2318,2323,2506,2512,2523,2619,2783,2855,2859 'field':100,152,899,1002,1006 'filter':180,185,194,207,433,487,502,566,659,751,832,883,902,962,1097,1183,1311,1859 'fmt':21 'fmt.printf':118,227,286,348,412,545,638,730,814,944,1026,1079,1165,1244,1327,1404,1488,1560,1626,1698,1792,1877,1954,2038,2100,2135,2171,2249,2353,2450,2562,2646,2729,2800,2876,2952,2998,3071,3136,3183,3231,3311,3374,3437 'fmt.println':95,113,127 'format':102,153 'found':147 'free':2286,2291 'full':3030 'gbp':2821 'generat':2189,2195,2206,2504,2510,2521 'get':13,214,322,328,384,400,603,619,788,802,998,1014,1046,1060,1231,1373,1385,1548,1667,1684,1779,1923,1935,2087,2157,2232,2340,2547,2627,2787,2863,2925,2940,2966,2982,3025,3045,3097,3103,3115,3146,3152,3170,3202,3218,3342,3354 'github.com':15,24,27 'github.com/team-telnyx/telnyx-go':14,23 'github.com/team-telnyx/telnyx-go/option':26 'given':184,3036,3216,3288 'go':5,9,12,18,73,216,269,331,402,530,622,714,804,929,1016,1063,1149,1233,1314,1388,1472,1550,1615,1687,1757,1781,1862,1938,2022,2089,2124,2160,2234,2342,2433,2549,2630,2713,2789,2865,2942,2986,3051,3117,3172,3220,3300,3357,3420 'group':260,306,326,368,2262,2915,2919 'gw':2844,2852 'handl':48,68 'hour':213 'id':197,201,234,238,296,299,330,358,361,436,569,618,621,662,710,713,754,835,965,1059,1062,1100,1145,1148,1186,1265,1348,1384,1387,1425,1468,1471,1509,1576,1642,1673,1683,1686,1692,1714,1753,1756,1761,1813,1898,1934,1937,1975,2018,2021,2059,2105,2140,2159,2165,2176,2276,2378,2475,2587,2626,2629,2671,2709,2712,2754,2825,2894,2912,2916,3050,3093,3242,3322,3356,3385,3419,3448 'import':19,74,161 'imsi':2896 'includ':505,905,2978,3038,3160 'inform':1039 'initi':43 'instal':10 'insuffici':142 'int32':855,862,985,992,1120,1127,1206,1213,1251,1284,1334,1367,1411,1444,1495,1528,1799,1817,1832,1884,1902,1917,1961,1979,1994,2045,2063,2078 'integ':266,268,419,498,501,519,552,645,737,822,825,847,895,898,916,952,955,977,1087,1090,1112,1173,1176,1198,2265,2367,2464,2576,2660,2743 'interact':1034 'invalid':138 'item':175 'iter':168,169 'iter.current':176 'iter.next':174 'key':35,140 'last':211 'ledger':258,304,324,366 'ledgerbillinggroupreport':270,332 'ledgerbillinggroupreport.data':289,351 'leg':196,233 'legaci':1293,1302,1453,1462,1841,1850,2003,2012 'limit':58,106,115,156 'linkag':3044 'list':177,1219,1534,1542,1767,2084 'listautopag':165 'log.fatal':225,284,346,410,543,636,728,812,942,1024,1077,1163,1242,1325,1402,1486,1558,1624,1696,1765,1790,1875,1952,2036,2098,2133,2169,2247,2351,2448,2560,2644,2727,2798,2874,2950,2996,3069,3134,3181,3229,3309,3372,3435 'manag':509,525,837,909,922,967,1102,1188,1578,1644,1716 'match':3214 'may':2224,2539 'mcc':2898 'mdr':386,392,473,480,606,613,698,705,1220,1228,1296,1305,1375,1380,1455,1464,2408,2507,2701,2785 'mdrusagereport':2434,2631,2714 'mdrusagereport.data':2453,2649,2732 'messag':403,506,531,623,715,1315,1389,1473,2320,2325,2332,2416,2425,2513,2525,2617,2622,2705,2827 'messaging.data':548,641,733,1330,1407,1491 'messagings.data':415 'meta':2957,3014,3088,3144 'metadata':243,907,2926,2943,2969,2972 'metadata.meta':2955 'metric':3126,3167,3195 'minut':2231,2546 'mms':2831 'mnc':2900 'month':265,275 'n':123,229,288,350,414,547,640,732,816,946,1028,1081,1167,1246,1329,1406,1490,1562,1628,1700,1794,1879,1956,2040,2102,2137,2173,2251,2355,2452,2564,2648,2731,2802,2878,2954,3000,3073,3138,3185,3233,3313,3376,3439 'name':245,449,521,582,675,767,849,918,979,1114,1200,2835,2920 'necessari':2220,2535 'network':55,128 'new':472,479,870,876,1292,1301,1608,1840,1849,2414,2415 'nil':83,224,283,345,409,542,635,727,811,941,1023,1076,1162,1241,1324,1401,1485,1557,1623,1695,1764,1789,1874,1951,2035,2097,2132,2168,2246,2350,2447,2559,2643,2726,2797,2873,2949,2995,3068,3133,3180,3228,3308,3371,3434 'note':162 'number':1038,2833,2893,2903 'numberlookup':1551,1616,1688 'numberlookup.data':1629,1701 'numberlookups.data':1563 'object':244,435,504,568,661,753,834,904,964,1099,1185,1277,1360,1437,1521,1590,1656,1728,1825,1910,1987,2071,2301,2390,2487,2599,2683,2766,2882,2890,2906,2924,2958,2961,2965,3009,3013,3015,3019,3082,3089,3091,3143,3145,3201 'occur':191 'one':3350,3413 'option':264,495,891,3150,3156,3293 'option.withapikey':31 'order':189 'organ':298,360 'os':22 'os.getenv':32 'overview':2927 'page':217,230,1234,1247,1782,1795,2090,2103,2343,2356,2866,2879,3118,3139 'pagin':163,1541 'param':80,172 'paramet':186,2936,2960,3217 'parent':3016 'part':2832 'pend':313,375,461,594,687,779,2112,2147,2183,2309,2398,2495,2607,2691,2774,3255,3335,3398,3461 'per':2292 'period':2216,2337,2430,2531,3290 'permiss':143 'phone':2902 'poll':2218,2533 'post':262,488,884,1312,1613,1860,2122,2431,3291 'present':204 'previous':1225,1773 'product':71,1815,1900,1977,2061,2278,3020,3043,3099,3108,3129,3162,3188,3190,3194 'productbreakdown':2242 'profil':438,513,571,664,756,1267,1350,1427,1511,2363,2380,2460,2477,2572,2589,2656,2673,2739,2756,2834 'pull':2422 'queri':2935,2959,3149,3158 'rate':57,105,114,155,2837,2905 'receiv':2851 'record':247,301,363,441,444,516,574,577,667,670,759,762,841,844,913,971,974,1106,1109,1192,1195,1270,1353,1430,1514,1582,1648,1720,1818,1903,1980,2064,2107,2142,2178,2294,2382,2479,2591,2675,2758,2786,2839,2858,2862,2907,2931,2962,2967,2976,2984,2991,3022,3047,3064,3198,3206,3244,3266,3276,3324,3346,3387,3409,3450 'recordtyp':3063 'reject':2853 'relationship':2979,3007,3017 'report':4,8,261,307,308,327,369,370,388,394,448,451,475,482,520,581,584,608,615,674,677,700,707,766,769,791,796,848,851,872,878,917,978,981,1001,1013,1050,1056,1113,1116,1136,1142,1199,1202,1222,1230,1273,1297,1306,1356,1377,1382,1433,1456,1465,1517,1538,1547,1585,1605,1612,1651,1671,1680,1723,1743,1750,1770,1778,1821,1845,1854,1906,1927,1932,1983,2006,2015,2067,2194,2200,2211,2297,2322,2327,2329,2385,2410,2418,2482,2509,2515,2526,2594,2618,2624,2678,2703,2707,2761,3148,3155,3208,3212,3247,3268,3272,3327,3348,3353,3390,3411,3416,3453 'request':389,395,476,483,609,616,701,708,792,797,873,879,1051,1057,1137,1143,1226,1298,1307,1457,1466,1774,1846,1855,2007,2016,2412 'requir':99,490,886 'resourc':145 'respect':3166 'respons':1017,2223,2235,2538,2550,2790,2987,3173 'response.aliases':3001 'response.billing':1029 'response.data':2252,2565,2803,3186 'result':76,1276,1359,1436,1520,1588,1654,1726,1824,1909,1986,2070,2300,2388,2485,2597,2681,2764 'retri':109,116,133,157,854,984,1119,1205 'retriev':390,610,793,1003,1052,1539,1674,2153,2616,3028 'return':231,290,352,416,549,642,734,818,948,1030,1083,1169,1248,1331,1408,1492,1564,1630,1702,1796,1881,1958,2042,2104,2139,2175,2253,2357,2454,2566,2650,2733,2804,2880,2928,2956,2970,3002,3075,3140,3187,3209,3235,3315,3349,3378,3441 'root':3090 'second':2892 'select':523,920 'session':200,237,2938,3026,3031,3092 'sessionanalysi':3052 'sessionanalysis.sessionid':3074 'setup':17 'shown':45 'sim':2910,2914,2918,3280 'singl':1379,1929,2621 'skill' 'skill-telnyx-account-reports-go' 'sms':2830 'sourc':856,925,986,1121,1207 'source-team-telnyx' 'specif':605,612,704,1048,1054,1140,1460,1676,1746,2010,2975,3351,3414 'specifi':486,882,1310,1858,2214,2335,2428,2529,3113 'start':454,491,587,680,772,858,887,988,1123,1209,1278,1361,1438,1522,1591,1657,1729,1826,1911,1988,2072,2302,2391,2488,2600,2684,2767,3250,3297,3330,3393,3456 'startdat':2443 'starttim':538,937,1870 'status':311,373,459,592,685,777,861,991,1126,1212,1283,1366,1443,1527,1594,1660,1732,1831,1916,1993,2077,2110,2145,2181,2307,2396,2493,2605,2689,2772,2842,3095,3253,3333,3396,3459 'string':235,239,242,246,427,440,443,447,450,453,512,515,522,529,560,573,576,580,583,586,653,666,669,673,676,679,745,758,761,765,768,771,828,831,836,840,843,850,853,857,860,864,867,901,912,919,926,928,958,961,966,970,973,980,983,987,990,994,997,1033,1037,1041,1045,1093,1096,1101,1105,1108,1115,1118,1122,1125,1129,1132,1179,1182,1187,1191,1194,1201,1204,1208,1211,1215,1218,1254,1269,1272,1275,1337,1352,1355,1358,1414,1429,1432,1435,1498,1513,1516,1519,1567,1581,1584,1587,1595,1633,1647,1650,1653,1661,1705,1719,1722,1725,1733,1802,1820,1823,1887,1905,1908,1964,1982,1985,2048,2066,2069,2106,2109,2117,2141,2144,2152,2177,2180,2188,2296,2299,2381,2384,2387,2478,2481,2484,2590,2593,2596,2674,2677,2680,2757,2760,2763,2806,2808,2810,2824,2826,2836,2838,2841,2895,2897,2899,2901,2904,2909,2913,2917,2921,3005,3011,3021,3024,3094,3096,3124,3125,3127,3128,3189,3193,3197,3238,3241,3246,3249,3252,3261,3296,3299,3318,3321,3326,3329,3332,3341,3381,3384,3389,3392,3395,3404,3444,3447,3452,3455,3458,3467 'submit':1601,1606,2411 'support':2934 'switch':91 'synchron':2201,2516 'tag':2260,2364,2461,2573,2657,2740 'take':2225,2540 'telco':1535,1544,1602,1609,1668,1677,1740,1747 'telephoni':1042 'telnyx':2,6,33,3098,3104 'telnyx-account-reports-go':1 'telnyx.calleventlistparams':221 'telnyx.error':86 'telnyx.int':276,279 'telnyx.ledgerbillinggroupreportnewparams':274 'telnyx.legacyreportingbatchdetailrecordmessagingnewparams':535 'telnyx.legacyreportingbatchdetailrecordvoicenewparams':934 'telnyx.legacyreportingusagereportmessaginglistparams':1238 'telnyx.legacyreportingusagereportmessagingnewparams':1319 'telnyx.legacyreportingusagereportnumberlookupnewparams':1620 'telnyx.legacyreportingusagereportvoicelistparams':1786 'telnyx.legacyreportingusagereportvoicenewparams':1867 'telnyx.newclient':30 'telnyx.phonenumbercsvdownloadlistparams':2094 'telnyx.phonenumbercsvdownloadnewparams':2129 'telnyx.reportcdrusagereportfetchsyncparams':2239 'telnyx.reportcdrusagereportfetchsyncparamsaggregationtypenoaggregation':2241 'telnyx.reportcdrusagereportfetchsyncparamsproductbreakdownnobreakdown':2243 'telnyx.reportlistmdrsparams':2794 'telnyx.reportlistwdrsparams':2870 'telnyx.reportmdrusagereportfetchsyncparams':2554 'telnyx.reportmdrusagereportfetchsyncparamsaggregationtypeprofile':2556 'telnyx.reportmdrusagereportlistparams':2347 'telnyx.reportmdrusagereportnewparams':2438 'telnyx.reportmdrusagereportnewparamsaggregationtypenoaggregation':2440 'telnyx.sessionanalysisgetparams':3062 'telnyx.usagereportgetoptionsparams':3177 'telnyx.usagereportlistparams':3122 'telnyx.wirelessdetailrecordsreportlistparams':3225 'telnyx.wirelessdetailrecordsreportnewparams':3305 'time':295,321,357,383,424,432,458,469,492,494,557,565,591,602,650,658,684,695,742,750,776,787,830,859,888,890,960,989,1095,1124,1181,1210,1259,1261,1264,1279,1282,1289,1342,1344,1347,1362,1365,1372,1419,1421,1424,1439,1442,1449,1503,1505,1508,1523,1526,1533,1572,1600,1638,1666,1710,1738,1807,1809,1812,1827,1830,1837,1892,1894,1897,1912,1915,1922,1969,1971,1974,1989,1992,1999,2053,2055,2058,2073,2076,2083,2215,2270,2272,2275,2303,2306,2317,2336,2372,2377,2395,2406,2429,2469,2474,2492,2503,2530,2581,2586,2604,2615,2665,2670,2688,2699,2748,2753,2771,2782,2815,2887,3080,3087,3240,3251,3289,3295,3298,3320,3331,3383,3394,3446,3457 'time.now':537,539,936,938,1869,1871,2442,2444 'timeout':2845,2850 'timestamp':241 'timezon':528,863,927,993,1128,1214 'toll':2285,2290 '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':3033 'type':248,252,302,364,442,445,517,575,578,668,671,760,763,820,842,845,893,914,950,972,975,1085,1107,1110,1171,1193,1196,1250,1271,1333,1354,1410,1431,1494,1515,1566,1583,1632,1649,1704,1721,1798,1819,1883,1904,1960,1981,2044,2065,2108,2143,2179,2255,2295,2359,2383,2456,2480,2568,2592,2652,2676,2735,2759,2828,2840,2908,2932,2963,2968,2977,2985,2992,3023,3048,3065,3199,3245,3325,3388,3451 'unconfirm':2848 'updat':317,379,465,598,691,783,865,995,1130,1216,1285,1368,1445,1529,1596,1662,1734,1833,1918,1995,2079,2313,2402,2499,2611,2695,2778,3259,3339,3402,3465 'uplink':2922 'uri':310,372 'url':309,371,452,585,678,770,852,982,1117,1203,1274,1357,1434,1518,1586,1652,1724,1822,1907,1984,2068,2116,2151,2187,2298,2386,2483,2595,2679,2762,3248,3328,3391,3454 'usag':1221,1229,1294,1303,1376,1381,1454,1463,1537,1546,1604,1611,1670,1679,1742,1749,1769,1777,1842,1851,1926,1931,2004,2013,2193,2199,2321,2326,2328,2409,2417,2508,2514,2623,2702,2706,3100,3105,3147,3154,3159 'usd':2822 'use':164,1010 'user':399,801 'uuid':297,300,359,362,437,570,663,755,1266,1349,1426,1510,1577,1643,1715,1814,1899,1976,2060,2277,2379,2476,2588,2672,2755,3243,3323,3386,3449 'v':228,287,349,413,546,639,731,815,945,1027,1080,1166,1245,1328,1405,1489,1561,1627,1699,1793,1878,1955,2039,2101,2136,2172,2250,2354,2451,2563,2647,2730,2801,2877,2953,2999,3072,3137,3184,3232,3312,3375,3438 'v2':1295,1304,1452,1461,1843,1852,2002,2011 'valid':60,96,149 'var':84 'voic':805,930,1064,1150,1863,1939,2023,2198,2210 'voice.data':947,1082,1168,1880,1957,2041 'voices.data':817 'vs':2284,2289 'wait':107 'wdr':2857,2861,3211,3347,3352,3410,3415 'wdrs':3207,3267,3277 'webhook':255 'wireless':3130,3204,3264,3274,3284,3344,3407 'year':267,278","prices":[{"id":"51252456-4d61-458f-b08b-42d3b23ba29d","listingId":"1b20c355-0f03-4a9f-aac2-61e20607cb29","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:07.735Z"}],"sources":[{"listingId":"1b20c355-0f03-4a9f-aac2-61e20607cb29","source":"github","sourceId":"team-telnyx/ai/telnyx-account-reports-go","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-account-reports-go","isPrimary":false,"firstSeenAt":"2026-04-18T22:06:07.735Z","lastSeenAt":"2026-04-22T12:54:42.755Z"}],"details":{"listingId":"1b20c355-0f03-4a9f-aac2-61e20607cb29","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-account-reports-go","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":"9af1d2b1369ec41487be8c02a5651fcb944ea7ed","skill_md_path":"skills/telnyx-account-reports-go/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-account-reports-go"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-account-reports-go","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-account-reports-go"},"updatedAt":"2026-04-22T12:54:42.755Z"}}