{"id":"a4fb69bc-8fb2-414a-b016-80dd01cef891","shortId":"ebpZX6","kind":"skill","title":"telnyx-sip-integrations-go","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Sip Integrations - 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## Retrieve a stored credential\n\nReturns the information about custom storage credentials.\n\n`GET /custom_storage_credentials/{connection_id}`\n\n```go\n\tcustomStorageCredential, err := client.CustomStorageCredentials.Get(context.Background(), \"connection_id\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", customStorageCredential.ConnectionID)\n```\n\nReturns: `backend` (enum: gcs, s3, azure), `configuration` (object)\n\n## Create a custom storage credential\n\nCreates a custom storage credentials configuration.\n\n`POST /custom_storage_credentials/{connection_id}`\n\n```go\n\tcustomStorageCredential, err := client.CustomStorageCredentials.New(\n\t\tcontext.Background(),\n\t\t\"connection_id\",\n\t\ttelnyx.CustomStorageCredentialNewParams{\n\t\t\tCustomStorageConfiguration: telnyx.CustomStorageConfigurationParam{\n\t\t\t\tBackend: telnyx.CustomStorageConfigurationBackendGcs,\n\t\t\t\tConfiguration: telnyx.CustomStorageConfigurationConfigurationUnionParam{\n\t\t\t\t\tOfGcs: &telnyx.GcsConfigurationDataParam{\n\t\t\t\t\t\tBackend: telnyx.GcsConfigurationDataBackendGcs,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", customStorageCredential.ConnectionID)\n```\n\nReturns: `backend` (enum: gcs, s3, azure), `configuration` (object)\n\n## Update a stored credential\n\nUpdates a stored custom credentials configuration.\n\n`PUT /custom_storage_credentials/{connection_id}`\n\n```go\n\tcustomStorageCredential, err := client.CustomStorageCredentials.Update(\n\t\tcontext.Background(),\n\t\t\"connection_id\",\n\t\ttelnyx.CustomStorageCredentialUpdateParams{\n\t\t\tCustomStorageConfiguration: telnyx.CustomStorageConfigurationParam{\n\t\t\t\tBackend: telnyx.CustomStorageConfigurationBackendGcs,\n\t\t\t\tConfiguration: telnyx.CustomStorageConfigurationConfigurationUnionParam{\n\t\t\t\t\tOfGcs: &telnyx.GcsConfigurationDataParam{\n\t\t\t\t\t\tBackend: telnyx.GcsConfigurationDataBackendGcs,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", customStorageCredential.ConnectionID)\n```\n\nReturns: `backend` (enum: gcs, s3, azure), `configuration` (object)\n\n## Delete a stored credential\n\nDeletes a stored custom credentials configuration.\n\n`DELETE /custom_storage_credentials/{connection_id}`\n\n```go\n\terr := client.CustomStorageCredentials.Delete(context.Background(), \"connection_id\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n```\n\n## Retrieve stored Dialogflow Connection\n\nReturn details of the Dialogflow connection associated with the given CallControl connection.\n\n`GET /dialogflow_connections/{connection_id}`\n\n```go\n\tdialogflowConnection, err := client.DialogflowConnections.Get(context.Background(), \"connection_id\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", dialogflowConnection.Data)\n```\n\nReturns: `connection_id` (string), `conversation_profile_id` (string), `environment` (string), `record_type` (string), `service_account` (string)\n\n## Create a Dialogflow Connection\n\nSave Dialogflow Credentiails to Telnyx, so it can be used with other Telnyx services.\n\n`POST /dialogflow_connections/{connection_id}`\n\n```go\n\tdialogflowConnection, err := client.DialogflowConnections.New(\n\t\tcontext.Background(),\n\t\t\"connection_id\",\n\t\ttelnyx.DialogflowConnectionNewParams{\n\t\t\tServiceAccount: map[string]any{\n\t\t\t\t\"type\":                        \"bar\",\n\t\t\t\t\"project_id\":                  \"bar\",\n\t\t\t\t\"private_key_id\":              \"bar\",\n\t\t\t\t\"private_key\":                 \"bar\",\n\t\t\t\t\"client_email\":                \"bar\",\n\t\t\t\t\"client_id\":                   \"bar\",\n\t\t\t\t\"auth_uri\":                    \"bar\",\n\t\t\t\t\"token_uri\":                   \"bar\",\n\t\t\t\t\"auth_provider_x509_cert_url\": \"bar\",\n\t\t\t\t\"client_x509_cert_url\":        \"bar\",\n\t\t\t},\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", dialogflowConnection.Data)\n```\n\nReturns: `connection_id` (string), `conversation_profile_id` (string), `environment` (string), `record_type` (string), `service_account` (string)\n\n## Update stored Dialogflow Connection\n\nUpdates a stored Dialogflow Connection.\n\n`PUT /dialogflow_connections/{connection_id}`\n\n```go\n\tdialogflowConnection, err := client.DialogflowConnections.Update(\n\t\tcontext.Background(),\n\t\t\"connection_id\",\n\t\ttelnyx.DialogflowConnectionUpdateParams{\n\t\t\tServiceAccount: map[string]any{\n\t\t\t\t\"type\":                        \"bar\",\n\t\t\t\t\"project_id\":                  \"bar\",\n\t\t\t\t\"private_key_id\":              \"bar\",\n\t\t\t\t\"private_key\":                 \"bar\",\n\t\t\t\t\"client_email\":                \"bar\",\n\t\t\t\t\"client_id\":                   \"bar\",\n\t\t\t\t\"auth_uri\":                    \"bar\",\n\t\t\t\t\"token_uri\":                   \"bar\",\n\t\t\t\t\"auth_provider_x509_cert_url\": \"bar\",\n\t\t\t\t\"client_x509_cert_url\":        \"bar\",\n\t\t\t},\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", dialogflowConnection.Data)\n```\n\nReturns: `connection_id` (string), `conversation_profile_id` (string), `environment` (string), `record_type` (string), `service_account` (string)\n\n## Delete stored Dialogflow Connection\n\nDeletes a stored Dialogflow Connection.\n\n`DELETE /dialogflow_connections/{connection_id}`\n\n```go\n\terr := client.DialogflowConnections.Delete(context.Background(), \"connection_id\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n```\n\n## List all External Connections\n\nThis endpoint returns a list of your External Connections inside the 'data' attribute of the response. External Connections are used by Telnyx customers to seamless configure SIP trunking integrations with Telnyx Partners, through External Voice Integrations in Mission Control Portal.\n\n`GET /external_connections`\n\n```go\n\tpage, err := client.ExternalConnections.List(context.Background(), telnyx.ExternalConnectionListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n```\n\nReturns: `active` (boolean), `created_at` (string), `credential_active` (boolean), `external_sip_connection` (enum: zoom, operator_connect), `id` (string), `inbound` (object), `outbound` (object), `record_type` (string), `tags` (array[string]), `updated_at` (string), `webhook_api_version` (enum: 1, 2), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer | null)\n\n## Creates an External Connection\n\nCreates a new External Connection based on the parameters sent in the request. The external_sip_connection and outbound voice profile id are required. Once created, you can assign phone numbers to your application using the `/phone_numbers` endpoint.\n\n`POST /external_connections` — Required: `external_sip_connection`, `outbound`\n\nOptional: `active` (boolean), `inbound` (object), `tags` (array[string]), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer | null)\n\n```go\n\texternalConnection, err := client.ExternalConnections.New(context.Background(), telnyx.ExternalConnectionNewParams{\n\t\tExternalSipConnection: telnyx.ExternalConnectionNewParamsExternalSipConnectionZoom,\n\t\tOutbound:              telnyx.ExternalConnectionNewParamsOutbound{},\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", externalConnection.Data)\n```\n\nReturns: `active` (boolean), `created_at` (string), `credential_active` (boolean), `external_sip_connection` (enum: zoom, operator_connect), `id` (string), `inbound` (object), `outbound` (object), `record_type` (string), `tags` (array[string]), `updated_at` (string), `webhook_api_version` (enum: 1, 2), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer | null)\n\n## List all log messages\n\nRetrieve a list of log messages for all external connections associated with your account.\n\n`GET /external_connections/log_messages`\n\n```go\n\tpage, err := client.ExternalConnections.LogMessages.List(context.Background(), telnyx.ExternalConnectionLogMessageListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n```\n\nReturns: `log_messages` (array[object]), `meta` (object)\n\n## Retrieve a log message\n\nRetrieve a log message for an external connection associated with your account.\n\n`GET /external_connections/log_messages/{id}`\n\n```go\n\tlogMessage, err := client.ExternalConnections.LogMessages.Get(context.Background(), \"1293384261075731499\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", logMessage.LogMessages)\n```\n\nReturns: `log_messages` (array[object])\n\n## Dismiss a log message\n\nDismiss a log message for an external connection associated with your account.\n\n`DELETE /external_connections/log_messages/{id}`\n\n```go\n\tresponse, err := client.ExternalConnections.LogMessages.Dismiss(context.Background(), \"1293384261075731499\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Success)\n```\n\nReturns: `success` (boolean)\n\n## Retrieve an External Connection\n\nReturn the details of an existing External Connection inside the 'data' attribute of the response.\n\n`GET /external_connections/{id}`\n\n```go\n\texternalConnection, err := client.ExternalConnections.Get(context.Background(), \"1293384261075731499\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", externalConnection.Data)\n```\n\nReturns: `active` (boolean), `created_at` (string), `credential_active` (boolean), `external_sip_connection` (enum: zoom, operator_connect), `id` (string), `inbound` (object), `outbound` (object), `record_type` (string), `tags` (array[string]), `updated_at` (string), `webhook_api_version` (enum: 1, 2), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer | null)\n\n## Update an External Connection\n\nUpdates settings of an existing External Connection based on the parameters of the request.\n\n`PATCH /external_connections/{id}` — Required: `outbound`\n\nOptional: `active` (boolean), `inbound` (object), `tags` (array[string]), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer | null)\n\n```go\n\texternalConnection, err := client.ExternalConnections.Update(\n\t\tcontext.Background(),\n\t\t\"1293384261075731499\",\n\t\ttelnyx.ExternalConnectionUpdateParams{\n\t\t\tOutbound: telnyx.ExternalConnectionUpdateParamsOutbound{\n\t\t\t\tOutboundVoiceProfileID: \"1911630617284445511\",\n\t\t\t},\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", externalConnection.Data)\n```\n\nReturns: `active` (boolean), `created_at` (string), `credential_active` (boolean), `external_sip_connection` (enum: zoom, operator_connect), `id` (string), `inbound` (object), `outbound` (object), `record_type` (string), `tags` (array[string]), `updated_at` (string), `webhook_api_version` (enum: 1, 2), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer | null)\n\n## Deletes an External Connection\n\nPermanently deletes an External Connection. Deletion may be prevented if the application is in use by phone numbers, is active, or if it is an Operator Connect connection. To remove an Operator Connect integration please contact Telnyx support.\n\n`DELETE /external_connections/{id}`\n\n```go\n\texternalConnection, err := client.ExternalConnections.Delete(context.Background(), \"1293384261075731499\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", externalConnection.Data)\n```\n\nReturns: `active` (boolean), `created_at` (string), `credential_active` (boolean), `external_sip_connection` (enum: zoom, operator_connect), `id` (string), `inbound` (object), `outbound` (object), `record_type` (string), `tags` (array[string]), `updated_at` (string), `webhook_api_version` (enum: 1, 2), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer | null)\n\n## List all civic addresses and locations\n\nReturns the civic addresses and locations from Microsoft Teams.\n\n`GET /external_connections/{id}/civic_addresses`\n\n```go\n\tcivicAddresses, err := client.ExternalConnections.CivicAddresses.List(\n\t\tcontext.Background(),\n\t\t\"1293384261075731499\",\n\t\ttelnyx.ExternalConnectionCivicAddressListParams{},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", civicAddresses.Data)\n```\n\nReturns: `city_or_town` (string), `city_or_town_alias` (string), `company_name` (string), `country` (string), `country_or_district` (string), `default_location_id` (uuid), `description` (string), `house_number` (string), `house_number_suffix` (string), `id` (uuid), `locations` (array[object]), `postal_or_zip_code` (string), `record_type` (string), `state_or_province` (string), `street_name` (string), `street_suffix` (string)\n\n## Retrieve a Civic Address\n\nReturn the details of an existing Civic Address with its Locations inside the 'data' attribute of the response.\n\n`GET /external_connections/{id}/civic_addresses/{address_id}`\n\n```go\n\tcivicAddress, err := client.ExternalConnections.CivicAddresses.Get(\n\t\tcontext.Background(),\n\t\t\"318fb664-d341-44d2-8405-e6bfb9ced6d9\",\n\t\ttelnyx.ExternalConnectionCivicAddressGetParams{\n\t\t\tID: \"1293384261075731499\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", civicAddress.Data)\n```\n\nReturns: `city_or_town` (string), `city_or_town_alias` (string), `company_name` (string), `country` (string), `country_or_district` (string), `default_location_id` (uuid), `description` (string), `house_number` (string), `house_number_suffix` (string), `id` (uuid), `locations` (array[object]), `postal_or_zip_code` (string), `record_type` (string), `state_or_province` (string), `street_name` (string), `street_suffix` (string)\n\n## Update a location's static emergency address\n\n`PATCH /external_connections/{id}/locations/{location_id}` — Required: `static_emergency_address_id`\n\n```go\n\tresponse, err := client.ExternalConnections.UpdateLocation(\n\t\tcontext.Background(),\n\t\t\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n\t\ttelnyx.ExternalConnectionUpdateLocationParams{\n\t\t\tID:                       \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n\t\t\tStaticEmergencyAddressID: \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Data)\n```\n\nReturns: `accepted_address_suggestions` (boolean), `location_id` (uuid), `static_emergency_address_id` (uuid)\n\n## List all phone numbers\n\nReturns a list of all active phone numbers associated with the given external connection.\n\n`GET /external_connections/{id}/phone_numbers`\n\n```go\n\tpage, err := client.ExternalConnections.PhoneNumbers.List(\n\t\tcontext.Background(),\n\t\t\"1293384261075731499\",\n\t\ttelnyx.ExternalConnectionPhoneNumberListParams{},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n```\n\nReturns: `acquired_capabilities` (array[string]), `civic_address_id` (uuid), `displayed_country_code` (string), `location_id` (uuid), `number_id` (string), `telephone_number` (string), `ticket_id` (uuid)\n\n## Retrieve a phone number\n\nReturn the details of a phone number associated with the given external connection.\n\n`GET /external_connections/{id}/phone_numbers/{phone_number_id}`\n\n```go\n\tphoneNumber, err := client.ExternalConnections.PhoneNumbers.Get(\n\t\tcontext.Background(),\n\t\t\"1234567889\",\n\t\ttelnyx.ExternalConnectionPhoneNumberGetParams{\n\t\t\tID: \"1293384261075731499\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", phoneNumber.Data)\n```\n\nReturns: `acquired_capabilities` (array[string]), `civic_address_id` (uuid), `displayed_country_code` (string), `location_id` (uuid), `number_id` (string), `telephone_number` (string), `ticket_id` (uuid)\n\n## Update a phone number\n\nAsynchronously update settings of the phone number associated with the given external connection.\n\n`PATCH /external_connections/{id}/phone_numbers/{phone_number_id}`\n\nOptional: `location_id` (uuid)\n\n```go\n\tphoneNumber, err := client.ExternalConnections.PhoneNumbers.Update(\n\t\tcontext.Background(),\n\t\t\"1234567889\",\n\t\ttelnyx.ExternalConnectionPhoneNumberUpdateParams{\n\t\t\tID: \"1293384261075731499\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", phoneNumber.Data)\n```\n\nReturns: `acquired_capabilities` (array[string]), `civic_address_id` (uuid), `displayed_country_code` (string), `location_id` (uuid), `number_id` (string), `telephone_number` (string), `ticket_id` (uuid)\n\n## List all Releases\n\nReturns a list of your Releases for the given external connection. These are automatically created when you change the `connection_id` of a phone number that is currently on Microsoft Teams.\n\n`GET /external_connections/{id}/releases`\n\n```go\n\tpage, err := client.ExternalConnections.Releases.List(\n\t\tcontext.Background(),\n\t\t\"1293384261075731499\",\n\t\ttelnyx.ExternalConnectionReleaseListParams{},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n```\n\nReturns: `created_at` (string), `error_message` (string), `status` (enum: pending_upload, pending, in_progress, complete, failed, expired, unknown), `telephone_numbers` (array[object]), `tenant_id` (uuid), `ticket_id` (uuid)\n\n## Retrieve a Release request\n\nReturn the details of a Release request and its phone numbers.\n\n`GET /external_connections/{id}/releases/{release_id}`\n\n```go\n\trelease, err := client.ExternalConnections.Releases.Get(\n\t\tcontext.Background(),\n\t\t\"7b6a6449-b055-45a6-81f6-f6f0dffa4cc6\",\n\t\ttelnyx.ExternalConnectionReleaseGetParams{\n\t\t\tID: \"1293384261075731499\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", release.Data)\n```\n\nReturns: `created_at` (string), `error_message` (string), `status` (enum: pending_upload, pending, in_progress, complete, failed, expired, unknown), `telephone_numbers` (array[object]), `tenant_id` (uuid), `ticket_id` (uuid)\n\n## List all Upload requests\n\nReturns a list of your Upload requests for the given external connection.\n\n`GET /external_connections/{id}/uploads`\n\n```go\n\tpage, err := client.ExternalConnections.Uploads.List(\n\t\tcontext.Background(),\n\t\t\"1293384261075731499\",\n\t\ttelnyx.ExternalConnectionUploadListParams{},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n```\n\nReturns: `available_usages` (array[string]), `error_code` (string), `error_message` (string), `location_id` (uuid), `status` (enum: pending_upload, pending, in_progress, partial_success, success, error), `tenant_id` (uuid), `ticket_id` (uuid), `tn_upload_entries` (array[object])\n\n## Creates an Upload request\n\nCreates a new Upload request to Microsoft teams with the included phone numbers. Only one of civic_address_id or location_id must be provided, not both. The maximum allowed phone numbers for the numbers_ids array is 1000.\n\n`POST /external_connections/{id}/uploads` — Required: `number_ids`\n\nOptional: `additional_usages` (array[string]), `civic_address_id` (uuid), `location_id` (uuid), `usage` (enum: calling_user_assignment, first_party_app_assignment)\n\n```go\n\tupload, err := client.ExternalConnections.Uploads.New(\n\t\tcontext.Background(),\n\t\t\"1293384261075731499\",\n\t\ttelnyx.ExternalConnectionUploadNewParams{\n\t\t\tNumberIDs: []string{\"3920457616934164700\", \"3920457616934164701\", \"3920457616934164702\", \"3920457616934164703\"},\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", upload.TicketID)\n```\n\nReturns: `success` (boolean), `ticket_id` (uuid)\n\n## Refresh the status of all Upload requests\n\nForces a recheck of the status of all pending Upload requests for the given external connection in the background.\n\n`POST /external_connections/{id}/uploads/refresh`\n\n```go\n\tresponse, err := client.ExternalConnections.Uploads.RefreshStatus(context.Background(), \"1293384261075731499\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Success)\n```\n\nReturns: `success` (boolean)\n\n## Get the count of pending upload requests\n\nReturns the count of all pending upload requests for the given external connection.\n\n`GET /external_connections/{id}/uploads/status`\n\n```go\n\tresponse, err := client.ExternalConnections.Uploads.PendingCount(context.Background(), \"1293384261075731499\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Data)\n```\n\nReturns: `pending_numbers_count` (integer), `pending_orders_count` (integer)\n\n## Retrieve an Upload request\n\nReturn the details of an Upload request and its phone numbers.\n\n`GET /external_connections/{id}/uploads/{ticket_id}`\n\n```go\n\tupload, err := client.ExternalConnections.Uploads.Get(\n\t\tcontext.Background(),\n\t\t\"7b6a6449-b055-45a6-81f6-f6f0dffa4cc6\",\n\t\ttelnyx.ExternalConnectionUploadGetParams{\n\t\t\tID: \"1293384261075731499\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", upload.Data)\n```\n\nReturns: `available_usages` (array[string]), `error_code` (string), `error_message` (string), `location_id` (uuid), `status` (enum: pending_upload, pending, in_progress, partial_success, success, error), `tenant_id` (uuid), `ticket_id` (uuid), `tn_upload_entries` (array[object])\n\n## Retry an Upload request\n\nIf there were any errors during the upload process, this endpoint will retry the upload request. In some cases this will reattempt the existing upload request, in other cases it may create a new upload request. Please check the ticket_id in the response to determine if a new upload request was created.\n\n`POST /external_connections/{id}/uploads/{ticket_id}/retry`\n\n```go\n\tresponse, err := client.ExternalConnections.Uploads.Retry(\n\t\tcontext.Background(),\n\t\t\"7b6a6449-b055-45a6-81f6-f6f0dffa4cc6\",\n\t\ttelnyx.ExternalConnectionUploadRetryParams{\n\t\t\tID: \"1293384261075731499\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Data)\n```\n\nReturns: `available_usages` (array[string]), `error_code` (string), `error_message` (string), `location_id` (uuid), `status` (enum: pending_upload, pending, in_progress, partial_success, success, error), `tenant_id` (uuid), `ticket_id` (uuid), `tn_upload_entries` (array[object])\n\n## List uploaded media\n\nReturns a list of stored media files.\n\n`GET /media`\n\n```go\n\tmedia, err := client.Media.List(context.Background(), telnyx.MediaListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", media.Data)\n```\n\nReturns: `content_type` (string), `created_at` (string), `expires_at` (string), `media_name` (string), `updated_at` (string)\n\n## Upload media\n\nUpload media file to Telnyx so it can be used with other Telnyx services\n\n`POST /media` — Required: `media_url`\n\nOptional: `media_name` (string), `ttl_secs` (integer)\n\n```go\n\tresponse, err := client.Media.Upload(context.Background(), telnyx.MediaUploadParams{\n\t\tMediaURL: \"http://www.example.com/audio.mp3\",\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Data)\n```\n\nReturns: `content_type` (string), `created_at` (string), `expires_at` (string), `media_name` (string), `updated_at` (string)\n\n## Retrieve stored media\n\nReturns the information about a stored media file.\n\n`GET /media/{media_name}`\n\n```go\n\tmedia, err := client.Media.Get(context.Background(), \"media_name\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", media.Data)\n```\n\nReturns: `content_type` (string), `created_at` (string), `expires_at` (string), `media_name` (string), `updated_at` (string)\n\n## Update stored media\n\nUpdates a stored media file.\n\n`PUT /media/{media_name}`\n\nOptional: `media_url` (string), `ttl_secs` (integer)\n\n```go\n\tmedia, err := client.Media.Update(\n\t\tcontext.Background(),\n\t\t\"media_name\",\n\t\ttelnyx.MediaUpdateParams{},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", media.Data)\n```\n\nReturns: `content_type` (string), `created_at` (string), `expires_at` (string), `media_name` (string), `updated_at` (string)\n\n## Deletes stored media\n\nDeletes a stored media file.\n\n`DELETE /media/{media_name}`\n\n```go\n\terr := client.Media.Delete(context.Background(), \"media_name\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n```\n\n## Download stored media\n\nDownloads a stored media file.\n\n`GET /media/{media_name}/download`\n\n```go\n\tresponse, err := client.Media.Download(context.Background(), \"media_name\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response)\n```\n\n## Refresh Operator Connect integration\n\nThis endpoint will make an asynchronous request to refresh the Operator Connect integration with Microsoft Teams for the current user. This will create new external connections on the user's account if needed, and/or report the integration results as [log messages](https://developers.telnyx.com/api-reference/external-connections/list-all-log-messages#list-all-log-messages).\n\n`POST /operator_connect/actions/refresh`\n\n```go\n\tresponse, err := client.OperatorConnect.Actions.Refresh(context.Background())\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Message)\n```\n\nReturns: `message` (string), `success` (boolean)\n\n## List all recording transcriptions\n\nReturns a list of your recording transcriptions.\n\n`GET /recording_transcriptions`\n\n```go\n\tpage, err := client.RecordingTranscriptions.List(context.Background(), telnyx.RecordingTranscriptionListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n```\n\nReturns: `created_at` (string), `duration_millis` (int32), `id` (string), `record_type` (enum: recording_transcription), `recording_id` (string), `status` (enum: in-progress, completed), `transcription_text` (string), `updated_at` (string)\n\n## Retrieve a recording transcription\n\nRetrieves the details of an existing recording transcription.\n\n`GET /recording_transcriptions/{recording_transcription_id}`\n\n```go\n\trecordingTranscription, err := client.RecordingTranscriptions.Get(context.Background(), \"6a09cdc3-8948-47f0-aa62-74ac943d6c58\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", recordingTranscription.Data)\n```\n\nReturns: `created_at` (string), `duration_millis` (int32), `id` (string), `record_type` (enum: recording_transcription), `recording_id` (string), `status` (enum: in-progress, completed), `transcription_text` (string), `updated_at` (string)\n\n## Delete a recording transcription\n\nPermanently deletes a recording transcription.\n\n`DELETE /recording_transcriptions/{recording_transcription_id}`\n\n```go\n\trecordingTranscription, err := client.RecordingTranscriptions.Delete(context.Background(), \"6a09cdc3-8948-47f0-aa62-74ac943d6c58\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", recordingTranscription.Data)\n```\n\nReturns: `created_at` (string), `duration_millis` (int32), `id` (string), `record_type` (enum: recording_transcription), `recording_id` (string), `status` (enum: in-progress, completed), `transcription_text` (string), `updated_at` (string)\n\n## List all call recordings\n\nReturns a list of your call recordings.\n\n`GET /recordings`\n\n```go\n\tpage, err := client.Recordings.List(context.Background(), telnyx.RecordingListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n```\n\nReturns: `call_control_id` (string), `call_leg_id` (string), `call_session_id` (string), `channels` (enum: single, dual), `conference_id` (string), `connection_id` (string), `created_at` (string), `download_urls` (object), `duration_millis` (int32), `from` (string), `id` (string), `initiated_by` (string), `record_type` (enum: recording), `recording_ended_at` (string), `recording_started_at` (string), `source` (enum: conference, call), `status` (enum: completed), `to` (string), `updated_at` (string)\n\n## Delete a list of call recordings\n\nPermanently deletes a list of call recordings.\n\n`POST /recordings/actions/delete`\n\n```go\n\taction, err := client.Recordings.Actions.Delete(context.Background(), telnyx.RecordingActionDeleteParams{\n\t\tIDs: []string{\"428c31b6-7af4-4bcb-b7f5-5013ef9657c1\", \"428c31b6-7af4-4bcb-b7f5-5013ef9657c2\"},\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", action.Status)\n```\n\nReturns: `status` (enum: ok)\n\n## Retrieve a call recording\n\nRetrieves the details of an existing call recording.\n\n`GET /recordings/{recording_id}`\n\n```go\n\trecording, err := client.Recordings.Get(context.Background(), \"recording_id\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", recording.Data)\n```\n\nReturns: `call_control_id` (string), `call_leg_id` (string), `call_session_id` (string), `channels` (enum: single, dual), `conference_id` (string), `connection_id` (string), `created_at` (string), `download_urls` (object), `duration_millis` (int32), `from` (string), `id` (string), `initiated_by` (string), `record_type` (enum: recording), `recording_ended_at` (string), `recording_started_at` (string), `source` (enum: conference, call), `status` (enum: completed), `to` (string), `updated_at` (string)\n\n## Delete a call recording\n\nPermanently deletes a call recording.\n\n`DELETE /recordings/{recording_id}`\n\n```go\n\trecording, err := client.Recordings.Delete(context.Background(), \"recording_id\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", recording.Data)\n```\n\nReturns: `call_control_id` (string), `call_leg_id` (string), `call_session_id` (string), `channels` (enum: single, dual), `conference_id` (string), `connection_id` (string), `created_at` (string), `download_urls` (object), `duration_millis` (int32), `from` (string), `id` (string), `initiated_by` (string), `record_type` (enum: recording), `recording_ended_at` (string), `recording_started_at` (string), `source` (enum: conference, call), `status` (enum: completed), `to` (string), `updated_at` (string)\n\n## Create a SIPREC connector\n\nCreates a new SIPREC connector configuration.\n\n`POST /siprec_connectors`\n\n```go\n\tsiprecConnector, err := client.SiprecConnectors.New(context.Background(), telnyx.SiprecConnectorNewParams{\n\t\tHost: \"siprec.telnyx.com\",\n\t\tName: \"my-siprec-connector\",\n\t\tPort: 5060,\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", siprecConnector.Data)\n```\n\nReturns: `app_subdomain` (string), `created_at` (string), `host` (string), `name` (string), `port` (integer), `record_type` (string), `updated_at` (string)\n\n## Retrieve a SIPREC connector\n\nReturns details of a stored SIPREC connector.\n\n`GET /siprec_connectors/{connector_name}`\n\n```go\n\tsiprecConnector, err := client.SiprecConnectors.Get(context.Background(), \"connector_name\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", siprecConnector.Data)\n```\n\nReturns: `app_subdomain` (string), `created_at` (string), `host` (string), `name` (string), `port` (integer), `record_type` (string), `updated_at` (string)\n\n## Update a SIPREC connector\n\nUpdates a stored SIPREC connector configuration.\n\n`PUT /siprec_connectors/{connector_name}`\n\n```go\n\tsiprecConnector, err := client.SiprecConnectors.Update(\n\t\tcontext.Background(),\n\t\t\"connector_name\",\n\t\ttelnyx.SiprecConnectorUpdateParams{\n\t\t\tHost: \"siprec.telnyx.com\",\n\t\t\tName: \"my-siprec-connector\",\n\t\t\tPort: 5060,\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", siprecConnector.Data)\n```\n\nReturns: `app_subdomain` (string), `created_at` (string), `host` (string), `name` (string), `port` (integer), `record_type` (string), `updated_at` (string)\n\n## Delete a SIPREC connector\n\nDeletes a stored SIPREC connector.\n\n`DELETE /siprec_connectors/{connector_name}`\n\n```go\n\terr := client.SiprecConnectors.Delete(context.Background(), \"connector_name\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n```","tags":["telnyx","sip","integrations","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk"],"capabilities":["skill","source-team-telnyx","skill-telnyx-sip-integrations-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-sip-integrations-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 (32,269 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T06:54:47.829Z","embedding":null,"createdAt":"2026-04-18T22:07:44.861Z","updatedAt":"2026-04-22T06:54:47.829Z","lastSeenAt":"2026-04-22T06:54:47.829Z","tsv":"'-47':2775,2839 '-8948':2774,2838 '/api-reference/external-connections/list-all-log-messages#list-all-log-messages).':2672 '/audio.mp3':2448 '/civic_addresses':1299,1396 '/custom_storage_credentials':189,228,277,326 '/dialogflow_connections':357,411,496,581 '/download':2608 '/external_connections':640,750,986,1073,1213,1297,1394,1485,1562,1624,1691,1779,1842,1915,2014,2096,2138,2181,2303 '/external_connections/log_messages':867,907,946 '/locations':1487 '/media':2379,2428,2486,2530,2582,2605 '/operator_connect/actions/refresh':2674 '/phone_numbers':747,1564,1626,1693 '/recording_transcriptions':2706,2764,2828 '/recordings':2894,3034,3126 '/recordings/actions/delete':2987 '/releases':1781,1844 '/retry':2308 '/siprec_connectors':3219,3275,3324,3382 '/team-telnyx/telnyx-go':16,25 '/team-telnyx/telnyx-go/option':28 '/uploads':1917,2016,2183,2305 '/uploads/refresh':2098 '/uploads/status':2140 '1':691,832,1038,1154,1265 '1000':2012 '1234567889':1635,1706 '1293384261075731499':914,953,993,1104,1220,1305,1412,1570,1638,1709,1787,1860,1923,2046,2104,2146,2199,2322 '182bd5e5':1501,1509,1516 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':1500,1508,1515 '1911630617284445511':1109 '2':692,833,1039,1155,1266 '318fb664':1405 '318fb664-d341-44d2':1404 '3920457616934164700':2050 '3920457616934164701':2051 '3920457616934164702':2052 '3920457616934164703':2053 '401':66,137 '403':141 '404':144 '422':62,94,148 '428c31b6':2997,3003 '428c31b6-7af4-4bcb-b7f5-5013ef9657c1':2996 '428c31b6-7af4-4bcb-b7f5-5013ef9657c2':3002 '429':59,104,154 '44d2':1407 '45a6':1855,2194,2317 '4bcb':2999,3005 '4fe4':1503,1511,1518 '5013ef9657c1':3001 '5013ef9657c2':3007 '5060':3234,3343 '6a09cdc3':2773,2837 '6e1a':1502,1510,1517 '74ac943d6c58':2779,2843 '7af4':2998,3004 '7b6a6449':1853,2192,2315 '7b6a6449-b055-45a6-81f6-f6f0dffa4cc6':1852,2191,2314 '81f6':1856,2195,2318 '8405':1408 'a799':1504,1512,1519 'aa62':2778,2842 'aa6d9a6ab26e':1505,1513,1520 'accept':1531 'account':390,484,569,865,905,944,2659 'acquir':1582,1649,1720 'action':2989 'action.status':3016 'activ':657,663,757,798,804,1004,1010,1078,1120,1126,1193,1231,1237,1552 'addit':2021 'address':1284,1290,1374,1382,1397,1483,1493,1532,1540,1587,1654,1725,1991,2026 'alia':1324,1430 'allow':2003 'alreadi':42 'alway':67 'and/or':2662 'api':34,50,119,139,688,829,1035,1151,1262 'apierr':85,90 'apierr.error':125 'apierr.statuscode':92,124 'app':2039,3245,3295,3354 'applic':744,1185 'array':682,762,823,886,927,1029,1083,1145,1256,1351,1457,1584,1651,1722,1818,1890,1937,1968,2010,2023,2212,2243,2335,2366 'assign':739,2036,2040 'associ':350,862,902,941,1555,1617,1684 'assum':39 'asynchron':1677,2634 'attribut':611,981,1389 'auth':444,450,529,535 'authent':64 'automat':167,1760 'avail':1935,2210,2333 'azur':213,263,312 'b055':1854,2193,2316 'b7f5':3000,3006 'backend':209,241,247,259,290,296,308 'background':2094 'backoff':112,160 'bar':427,430,434,437,440,443,446,449,455,460,512,515,519,522,525,528,531,534,540,545 'base':716,1065 'bash':11 'boolean':658,664,758,799,805,965,1005,1011,1079,1121,1127,1232,1238,1534,2065,2116,2693 'call':51,2034,2884,2891,2911,2915,2919,2964,2977,2984,3023,3031,3054,3058,3062,3107,3118,3123,3146,3150,3154,3199 'callcontrol':354 'capabl':1583,1650,1721 'case':93,103,2267,2277 'cert':453,458,538,543 'chang':1764 'channel':2923,3066,3158 'check':98,130,151,2286 'citi':1317,1321,1423,1427 'civic':1283,1289,1373,1381,1586,1653,1724,1990,2025 'civicaddress':1301,1400 'civicaddress.data':1421 'civicaddresses.data':1315 'client':29,40,438,441,456,523,526,541 'client.customstoragecredentials.delete':331 'client.customstoragecredentials.get':195 'client.customstoragecredentials.new':234 'client.customstoragecredentials.update':283 'client.dialogflowconnections.delete':586 'client.dialogflowconnections.get':363 'client.dialogflowconnections.new':417 'client.dialogflowconnections.update':502 'client.externalconnections.civicaddresses.get':1402 'client.externalconnections.civicaddresses.list':1303 'client.externalconnections.delete':1218 'client.externalconnections.get':991 'client.externalconnections.list':644 'client.externalconnections.logmessages.dismiss':951 'client.externalconnections.logmessages.get':912 'client.externalconnections.logmessages.list':871 'client.externalconnections.new':781 'client.externalconnections.phonenumbers.get':1633 'client.externalconnections.phonenumbers.list':1568 'client.externalconnections.phonenumbers.update':1704 'client.externalconnections.releases.get':1850 'client.externalconnections.releases.list':1785 'client.externalconnections.update':1102 'client.externalconnections.updatelocation':1498 'client.externalconnections.uploads.get':2189 'client.externalconnections.uploads.list':1921 'client.externalconnections.uploads.new':2044 'client.externalconnections.uploads.pendingcount':2144 'client.externalconnections.uploads.refreshstatus':2102 'client.externalconnections.uploads.retry':2312 'client.media.delete':2587 'client.media.download':2612 'client.media.get':2492 'client.media.list':2383 'client.media.update':2543 'client.media.upload':2442 'client.messages.send':78 'client.operatorconnect.actions.refresh':2678 'client.recordings.actions.delete':2991 'client.recordings.delete':3132 'client.recordings.get':3040 'client.recordings.list':2898 'client.recordingtranscriptions.delete':2835 'client.recordingtranscriptions.get':2771 'client.recordingtranscriptions.list':2710 'client.resource.listautopaging':170 'client.siprecconnectors.delete':3387 'client.siprecconnectors.get':3281 'client.siprecconnectors.new':3223 'client.siprecconnectors.update':3330 'code':72,136,1356,1462,1592,1659,1730,1940,2215,2338 'common':134 'compani':1326,1432 'complet':1812,1884,2744,2811,2875,2967,3110,3202 'confer':2927,2963,3070,3106,3162,3198 'configur':214,226,243,264,275,292,313,324,624,3217,3322 'connect':131,190,197,229,236,278,285,327,333,343,349,355,358,365,377,395,412,419,471,489,494,497,504,556,574,579,582,588,598,607,616,667,671,710,715,727,754,808,812,861,901,940,969,977,1014,1018,1057,1064,1130,1134,1173,1178,1200,1201,1206,1241,1245,1560,1622,1689,1757,1766,1913,2091,2136,2627,2640,2654,2930,3073,3165 'connector':3211,3216,3232,3266,3273,3276,3283,3316,3321,3325,3332,3341,3375,3380,3383,3389 'contact':1209 'content':2396,2459,2506,2558 'context':20 'context.background':196,235,284,332,364,418,503,587,645,782,872,913,952,992,1103,1219,1304,1403,1499,1569,1634,1705,1786,1851,1922,2045,2103,2145,2190,2313,2384,2443,2493,2544,2588,2613,2679,2711,2772,2836,2899,2992,3041,3133,3224,3282,3331,3388 'control':637,2912,3055,3147 'convers':380,474,559 'count':2119,2126,2159,2163 'countri':1329,1331,1435,1437,1591,1658,1729 'creat':216,221,392,659,707,711,736,800,1006,1122,1233,1761,1799,1871,1970,1974,2280,2301,2399,2462,2509,2561,2651,2723,2790,2854,2933,3076,3168,3208,3212,3248,3298,3357 'credenti':180,187,220,225,269,274,318,323,662,803,1009,1125,1236 'credentiail':398 'ctx':79,171 'current':1774,2647 'custom':185,218,223,273,322,621 'customstorageconfigur':239,288 'customstoragecredenti':193,232,281 'customstoragecredential.connectionid':207,257,306 'd':121 'd341':1406 'data':610,980,1388 'default':117,1335,1441 'delet':315,319,325,571,575,580,945,1170,1175,1179,1212,2573,2576,2581,2818,2823,2827,2973,2980,3116,3121,3125,3372,3376,3381 'descript':1339,1445 'detail':345,972,1377,1612,1832,2171,2757,3027,3268 'determin':2294 'developers.telnyx.com':2671 'developers.telnyx.com/api-reference/external-connections/list-all-log-messages#list-all-log-messages).':2670 'dialogflow':342,348,394,397,488,493,573,578 'dialogflowconnect':361,415,500 'dialogflowconnection.data':375,469,554 'dismiss':929,933 'display':1590,1657,1728 'district':1333,1439 'download':2596,2599,2936,3079,3171 'dual':2926,3069,3161 'durat':2726,2793,2857,2939,3082,3174 'e6bfb9ced6d9':1409 'els':126 'email':439,524 'emerg':1482,1492,1539 'end':2954,3097,3189 'endpoint':600,748,2259,2630 'entri':1967,2242,2365 'enum':210,260,309,668,690,809,831,1015,1037,1131,1153,1242,1264,1806,1878,1949,2033,2224,2347,2733,2740,2800,2807,2864,2871,2924,2951,2962,2966,3019,3067,3094,3105,3109,3159,3186,3197,3201 'environ':384,478,563 'err':77,82,89,194,200,203,233,250,253,282,299,302,330,336,339,362,368,371,416,462,465,501,547,550,585,591,594,643,648,651,780,789,792,870,875,878,911,916,919,950,955,958,990,995,998,1101,1111,1114,1217,1222,1225,1302,1308,1311,1401,1414,1417,1497,1522,1525,1567,1573,1576,1632,1640,1643,1703,1711,1714,1784,1790,1793,1849,1862,1865,1920,1926,1929,2043,2055,2058,2101,2106,2109,2143,2148,2151,2188,2201,2204,2311,2324,2327,2382,2387,2390,2441,2450,2453,2491,2497,2500,2542,2549,2552,2586,2592,2595,2611,2617,2620,2677,2681,2684,2709,2714,2717,2770,2781,2784,2834,2845,2848,2897,2902,2905,2990,3009,3012,3039,3045,3048,3131,3137,3140,3222,3236,3239,3280,3286,3289,3329,3345,3348,3386,3392,3395 'error':47,56,61,65,69,75,97,120,129,135,150,1802,1874,1939,1942,1958,2214,2217,2233,2253,2337,2340,2356 'errors.as':88 'event':694,699,765,770,835,840,1041,1046,1086,1091,1157,1162,1268,1273 'exampl':37 'exist':975,1062,1380,2272,2760,3030 'expir':1814,1886,2402,2465,2512,2564 'exponenti':111,159 'extern':597,606,615,632,665,709,714,725,752,806,860,900,939,968,976,1012,1056,1063,1128,1172,1177,1239,1559,1621,1688,1756,1912,2090,2135,2653 'externalconnect':779,989,1100,1216 'externalconnection.data':796,1002,1118,1229 'externalsipconnect':784 'f0':2777,2841 'f0-aa62-74ac943d6c58':2776,2840 'f6f0dffa4cc6':1857,2196,2319 'fail':53,1813,1885 'failov':695,766,836,1042,1087,1158,1269 'field':100,152 'file':2377,2415,2484,2528,2580,2603 'first':2037 'fmt':21 'fmt.printf':118,204,254,303,372,466,551,652,793,879,920,959,999,1115,1226,1312,1418,1526,1577,1644,1715,1794,1866,1930,2059,2110,2152,2205,2328,2391,2454,2501,2553,2621,2685,2718,2785,2849,2906,3013,3049,3141,3240,3290,3349 'fmt.println':95,113,127 'forc':2076 'format':102,153 'found':147 'gcs':211,261,310 'get':13,188,356,639,866,906,985,1296,1393,1561,1623,1778,1841,1914,2117,2137,2180,2378,2485,2604,2705,2763,2893,3033,3274 'github.com':15,24,27 'github.com/team-telnyx/telnyx-go':14,23 'github.com/team-telnyx/telnyx-go/option':26 'given':353,1558,1620,1687,1755,1911,2089,2134 'go':5,9,12,18,73,192,231,280,329,360,414,499,584,641,778,868,909,948,988,1099,1215,1300,1399,1495,1565,1630,1701,1782,1847,1918,2041,2099,2141,2186,2309,2380,2439,2489,2540,2585,2609,2675,2707,2768,2832,2895,2988,3037,3129,3220,3278,3327,3385 'handl':48,68 'host':3226,3251,3301,3335,3360 'hous':1341,1344,1447,1450 'id':191,198,230,237,279,286,328,334,359,366,378,382,413,420,429,433,442,472,476,498,505,514,518,527,557,561,583,589,672,732,813,908,947,987,1019,1074,1135,1214,1246,1298,1337,1348,1395,1398,1411,1443,1454,1486,1489,1494,1507,1536,1541,1563,1588,1595,1598,1604,1625,1629,1637,1655,1662,1665,1671,1692,1696,1699,1708,1726,1733,1736,1742,1767,1780,1821,1824,1843,1846,1859,1893,1896,1916,1946,1960,1963,1992,1995,2009,2015,2019,2027,2030,2067,2097,2139,2182,2185,2198,2221,2235,2238,2289,2304,2307,2321,2344,2358,2361,2729,2737,2767,2796,2804,2831,2860,2868,2913,2917,2921,2928,2931,2944,2994,3036,3043,3056,3060,3064,3071,3074,3087,3128,3135,3148,3152,3156,3163,3166,3179 'import':19,74,161 'in-progress':2741,2808,2872 'inbound':674,759,815,1021,1080,1137,1248 'includ':1984 'inform':183,2479 'initi':43,2946,3089,3181 'insid':608,978,1386 'instal':10 'insuffici':142 'int32':2728,2795,2859,2941,3084,3176 'integ':705,776,846,1052,1097,1168,1279,2160,2164,2438,2539,3256,3306,3365 'integr':4,8,627,634,1207,2628,2641,2665 'invalid':138 'item':175 'iter':168,169 'iter.current':176 'iter.next':174 'key':35,140,432,436,517,521 'leg':2916,3059,3151 'limit':58,106,115,156 'list':595,603,848,854,1281,1543,1549,1744,1749,1898,1904,2368,2373,2694,2700,2882,2888,2975,2982 'listautopag':165 'locat':1286,1292,1336,1350,1385,1442,1456,1479,1488,1535,1594,1661,1698,1732,1945,1994,2029,2220,2343 'log':850,856,884,892,896,925,931,935,2668 'log.fatal':202,252,301,338,370,464,549,593,650,791,877,918,957,997,1113,1224,1310,1416,1524,1575,1642,1713,1792,1864,1928,2057,2108,2150,2203,2326,2389,2452,2499,2551,2594,2619,2683,2716,2783,2847,2904,3011,3047,3139,3238,3288,3347,3394 'logmessag':910 'logmessage.logmessages':923 'make':2632 'map':423,508 'maximum':2002 'may':1180,2279 'media':2370,2376,2381,2405,2412,2414,2430,2433,2468,2476,2483,2487,2490,2494,2515,2523,2527,2531,2534,2541,2545,2567,2575,2579,2583,2589,2598,2602,2606,2614 'media.data':2394,2504,2556 'mediaurl':2445 'messag':851,857,885,893,897,926,932,936,1803,1875,1943,2218,2341,2669,2690 'meta':888 'microsoft':1294,1776,1980,2643 'milli':2727,2794,2858,2940,3083,3175 'mission':636 'must':1996 'my-siprec-connector':3229,3338 'n':123,206,256,305,374,468,553,654,795,881,922,961,1001,1117,1228,1314,1420,1528,1579,1646,1717,1796,1868,1932,2061,2112,2154,2207,2330,2393,2456,2503,2555,2623,2687,2720,2787,2851,2908,3015,3051,3143,3242,3292,3351 'name':1327,1366,1433,1472,2406,2434,2469,2488,2495,2516,2532,2546,2568,2584,2590,2607,2615,3228,3253,3277,3284,3303,3326,3333,3337,3362,3384,3390 'need':2661 'network':55,128 'new':713,1976,2282,2297,2652,3214 'nil':83,201,251,300,337,369,463,548,592,649,790,876,917,956,996,1112,1223,1309,1415,1523,1574,1641,1712,1791,1863,1927,2056,2107,2149,2202,2325,2388,2451,2498,2550,2593,2618,2682,2715,2782,2846,2903,3010,3046,3138,3237,3287,3346,3393 'note':162 'null':706,777,847,1053,1098,1169,1280 'number':741,1191,1342,1345,1448,1451,1546,1554,1597,1601,1609,1616,1628,1664,1668,1676,1683,1695,1735,1739,1771,1817,1840,1889,1986,2005,2008,2018,2158,2179 'numberid':2048 'object':215,265,314,675,677,760,816,818,887,889,928,1022,1024,1081,1138,1140,1249,1251,1352,1458,1819,1891,1969,2244,2367,2938,3081,3173 'ofgc':245,294 'ok':3020 'one':1988 'oper':670,811,1017,1133,1199,1205,1244,2626,2639 'option':756,1077,1697,2020,2432,2533 'option.withapikey':31 'order':2162 'os':22 'os.getenv':32 'outbound':676,729,755,786,817,1023,1076,1106,1139,1250 'outboundvoiceprofileid':1108 'page':642,655,869,882,1566,1580,1783,1797,1919,1933,2708,2721,2896,2909 'pagin':163 'param':80,172 'paramet':719,1068 'parti':2038 'partial':1955,2230,2353 'partner':630 'patch':1072,1484,1690 'pend':1807,1809,1879,1881,1950,1952,2084,2121,2129,2157,2161,2225,2227,2348,2350 'perman':1174,2822,2979,3120 'permiss':143 'phone':740,1190,1545,1553,1608,1615,1627,1675,1682,1694,1770,1839,1985,2004,2178 'phonenumb':1631,1702 'phonenumber.data':1647,1718 'pleas':1208,2285 'port':3233,3255,3305,3342,3364 'portal':638 'post':227,410,749,2013,2095,2302,2427,2673,2986,3218 'postal':1353,1459 'prevent':1182 'privat':431,435,516,520 'process':2257 'product':71 'profil':381,475,560,731 'progress':1811,1883,1954,2229,2352,2743,2810,2874 'project':428,513 'provid':451,536,1998 'provinc':1363,1469 'put':276,495,2529,3323 'rate':57,105,114,155 'reattempt':2270 'recheck':2078 'record':386,480,565,678,819,1025,1141,1252,1358,1464,2696,2703,2731,2734,2736,2753,2761,2765,2798,2801,2803,2820,2825,2829,2862,2865,2867,2885,2892,2949,2952,2953,2957,2978,2985,3024,3032,3035,3038,3042,3092,3095,3096,3100,3119,3124,3127,3130,3134,3184,3187,3188,3192,3257,3307,3366 'recording.data':3052,3144 'recordingtranscript':2769,2833 'recordingtranscription.data':2788,2852 'refresh':2069,2625,2637 'releas':1746,1752,1828,1835,1845,1848 'release.data':1869 'remov':1203 'report':2663 'request':723,1071,1829,1836,1901,1908,1973,1978,2075,2086,2123,2131,2168,2175,2248,2264,2274,2284,2299,2635 'requir':99,734,751,1075,1490,2017,2429 'resourc':145 'respons':614,949,984,1392,1496,2100,2142,2292,2310,2440,2610,2624,2676 'response.data':1529,2155,2331,2457 'response.message':2688 'response.success':962,2113 'result':76,2666 'retri':109,116,133,157,2245,2261 'retriev':177,340,852,890,894,966,1371,1606,1826,2165,2474,2751,2755,3021,3025,3263 'return':181,208,258,307,344,376,470,555,601,656,797,883,924,963,970,1003,1119,1230,1287,1316,1375,1422,1530,1547,1581,1610,1648,1719,1747,1798,1830,1870,1902,1934,2063,2114,2124,2156,2169,2209,2332,2371,2395,2458,2477,2505,2557,2689,2698,2722,2789,2853,2886,2910,3017,3053,3145,3244,3267,3294,3353 's3':212,262,311 'save':396 'seamless':623 'sec':704,775,845,1051,1096,1167,1278,2437,2538 'sent':720 'servic':389,409,483,568,2426 'serviceaccount':422,507 'session':2920,3063,3155 'set':1059,1679 'setup':17 'shown':45 'singl':2925,3068,3160 'sip':3,7,625,666,726,753,807,1013,1129,1240 'siprec':3210,3215,3231,3265,3272,3315,3320,3340,3374,3379 'siprec.telnyx.com':3227,3336 'siprecconnector':3221,3279,3328 'siprecconnector.data':3243,3293,3352 'skill' 'skill-telnyx-sip-integrations-go' 'sourc':2961,3104,3196 'source-team-telnyx' 'start':2958,3101,3193 'state':1361,1467 'static':1481,1491,1538 'staticemergencyaddressid':1514 'status':1805,1877,1948,2071,2081,2223,2346,2739,2806,2870,2965,3018,3108,3200 'storag':186,219,224 'store':179,268,272,317,321,341,487,492,572,577,2375,2475,2482,2522,2526,2574,2578,2597,2601,3271,3319,3378 'street':1365,1368,1471,1474 'string':379,383,385,388,391,424,473,477,479,482,485,509,558,562,564,567,570,661,673,680,683,686,763,802,814,821,824,827,1008,1020,1027,1030,1033,1084,1124,1136,1143,1146,1149,1235,1247,1254,1257,1260,1320,1325,1328,1330,1334,1340,1343,1347,1357,1360,1364,1367,1370,1426,1431,1434,1436,1440,1446,1449,1453,1463,1466,1470,1473,1476,1585,1593,1599,1602,1652,1660,1666,1669,1723,1731,1737,1740,1801,1804,1873,1876,1938,1941,1944,2024,2049,2213,2216,2219,2336,2339,2342,2398,2401,2404,2407,2410,2435,2461,2464,2467,2470,2473,2508,2511,2514,2517,2520,2536,2560,2563,2566,2569,2572,2691,2725,2730,2738,2747,2750,2792,2797,2805,2814,2817,2856,2861,2869,2878,2881,2914,2918,2922,2929,2932,2935,2943,2945,2948,2956,2960,2969,2972,2995,3057,3061,3065,3072,3075,3078,3086,3088,3091,3099,3103,3112,3115,3149,3153,3157,3164,3167,3170,3178,3180,3183,3191,3195,3204,3207,3247,3250,3252,3254,3259,3262,3297,3300,3302,3304,3309,3312,3356,3359,3361,3363,3368,3371 'subdomain':3246,3296,3355 'success':964,1956,1957,2064,2115,2231,2232,2354,2355,2692 'suffix':1346,1369,1452,1475 'suggest':1533 'support':1211 'switch':91 'tag':681,761,822,1028,1082,1144,1255 'team':1295,1777,1981,2644 'telephon':1600,1667,1738,1816,1888 'telnyx':2,6,33,400,408,620,629,1210,2417,2425 'telnyx-sip-integrations-go':1 'telnyx.customstorageconfigurationbackendgcs':242,291 'telnyx.customstorageconfigurationconfigurationunionparam':244,293 'telnyx.customstorageconfigurationparam':240,289 'telnyx.customstoragecredentialnewparams':238 'telnyx.customstoragecredentialupdateparams':287 'telnyx.dialogflowconnectionnewparams':421 'telnyx.dialogflowconnectionupdateparams':506 'telnyx.error':86 'telnyx.externalconnectioncivicaddressgetparams':1410 'telnyx.externalconnectioncivicaddresslistparams':1306 'telnyx.externalconnectionlistparams':646 'telnyx.externalconnectionlogmessagelistparams':873 'telnyx.externalconnectionnewparams':783 'telnyx.externalconnectionnewparamsexternalsipconnectionzoom':785 'telnyx.externalconnectionnewparamsoutbound':787 'telnyx.externalconnectionphonenumbergetparams':1636 'telnyx.externalconnectionphonenumberlistparams':1571 'telnyx.externalconnectionphonenumberupdateparams':1707 'telnyx.externalconnectionreleasegetparams':1858 'telnyx.externalconnectionreleaselistparams':1788 'telnyx.externalconnectionupdatelocationparams':1506 'telnyx.externalconnectionupdateparams':1105 'telnyx.externalconnectionupdateparamsoutbound':1107 'telnyx.externalconnectionuploadgetparams':2197 'telnyx.externalconnectionuploadlistparams':1924 'telnyx.externalconnectionuploadnewparams':2047 'telnyx.externalconnectionuploadretryparams':2320 'telnyx.gcsconfigurationdatabackendgcs':248,297 'telnyx.gcsconfigurationdataparam':246,295 'telnyx.medialistparams':2385 'telnyx.mediaupdateparams':2547 'telnyx.mediauploadparams':2444 'telnyx.newclient':30 'telnyx.recordingactiondeleteparams':2993 'telnyx.recordinglistparams':2900 'telnyx.recordingtranscriptionlistparams':2712 'telnyx.siprecconnectornewparams':3225 'telnyx.siprecconnectorupdateparams':3334 'tenant':1820,1892,1959,2234,2357 'text':2746,2813,2877 'ticket':1603,1670,1741,1823,1895,1962,2066,2184,2237,2288,2306,2360 'timeout':703,774,844,1050,1095,1166,1277 'tn':1965,2240,2363 'token':447,532 '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' 'town':1319,1323,1425,1429 'transcript':2697,2704,2735,2745,2754,2762,2766,2802,2812,2821,2826,2830,2866,2876 'trunk':626 'ttl':2436,2537 'type':387,426,481,511,566,679,820,1026,1142,1253,1359,1465,2397,2460,2507,2559,2732,2799,2863,2950,3093,3185,3258,3308,3367 'unknown':1815,1887 'updat':266,270,486,490,684,825,1031,1054,1058,1147,1258,1477,1673,1678,2408,2471,2518,2521,2524,2570,2748,2815,2879,2970,3113,3205,3260,3310,3313,3317,3369 'upload':1808,1880,1900,1907,1951,1966,1972,1977,2042,2074,2085,2122,2130,2167,2174,2187,2226,2241,2247,2256,2263,2273,2283,2298,2349,2364,2369,2411,2413 'upload.data':2208 'upload.ticketid':2062 'uri':445,448,530,533,697,701,768,772,838,842,1044,1048,1089,1093,1160,1164,1271,1275 'url':454,459,539,544,696,700,767,771,837,841,1043,1047,1088,1092,1159,1163,1270,1274,2431,2535,2937,3080,3172 'usag':1936,2022,2032,2211,2334 'use':164,405,618,745,1188,2422 'user':2035,2648,2657 'uuid':1338,1349,1444,1455,1537,1542,1589,1596,1605,1656,1663,1672,1700,1727,1734,1743,1822,1825,1894,1897,1947,1961,1964,2028,2031,2068,2222,2236,2239,2345,2359,2362 'v':205,255,304,373,467,552,653,794,880,921,960,1000,1116,1227,1313,1419,1527,1578,1645,1716,1795,1867,1931,2060,2111,2153,2206,2329,2392,2455,2502,2554,2622,2686,2719,2786,2850,2907,3014,3050,3142,3241,3291,3350 'valid':60,96,149 'var':84 'version':689,830,1036,1152,1263 'voic':633,730 'wait':107 'webhook':687,693,698,702,764,769,773,828,834,839,843,1034,1040,1045,1049,1085,1090,1094,1150,1156,1161,1165,1261,1267,1272,1276 'www.example.com':2447 'www.example.com/audio.mp3':2446 'x509':452,457,537,542 'zip':1355,1461 'zoom':669,810,1016,1132,1243","prices":[{"id":"478ca6c3-8ffa-49dd-8bfc-c351521f43fd","listingId":"a4fb69bc-8fb2-414a-b016-80dd01cef891","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:07:44.861Z"}],"sources":[{"listingId":"a4fb69bc-8fb2-414a-b016-80dd01cef891","source":"github","sourceId":"team-telnyx/ai/telnyx-sip-integrations-go","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-sip-integrations-go","isPrimary":false,"firstSeenAt":"2026-04-18T22:07:44.861Z","lastSeenAt":"2026-04-22T06:54:47.829Z"}],"details":{"listingId":"a4fb69bc-8fb2-414a-b016-80dd01cef891","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-sip-integrations-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":"5c0e98ece9bad9691ee9dd8ecced5bb5d631b0d2","skill_md_path":"skills/telnyx-sip-integrations-go/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-sip-integrations-go"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-sip-integrations-go","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-sip-integrations-go"},"updatedAt":"2026-04-22T06:54:47.829Z"}}