api/go/telnyx-sip-go/SKILL.md
Configure SIP trunking connections and outbound voice profiles. Use when connecting PBX systems or managing SIP infrastructure. This skill provides Go SDK examples.
npx skillsauth add team-telnyx/telnyx-toolkit telnyx-sip-goInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
go get github.com/team-telnyx/telnyx-go
import (
"context"
"fmt"
"os"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
client := telnyx.NewClient(
option.WithAPIKey(os.Getenv("TELNYX_API_KEY")),
)
All examples below assume client is already initialized as shown above.
Get all outbound voice profiles belonging to the user that match the given filters.
GET /outbound_voice_profiles
page, err := client.OutboundVoiceProfiles.List(context.TODO(), telnyx.OutboundVoiceProfileListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Create an outbound voice profile.
POST /outbound_voice_profiles — Required: name
outboundVoiceProfile, err := client.OutboundVoiceProfiles.New(context.TODO(), telnyx.OutboundVoiceProfileNewParams{
Name: "office",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", outboundVoiceProfile.Data)
Retrieves the details of an existing outbound voice profile.
GET /outbound_voice_profiles/{id}
outboundVoiceProfile, err := client.OutboundVoiceProfiles.Get(context.TODO(), "1293384261075731499")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", outboundVoiceProfile.Data)
PATCH /outbound_voice_profiles/{id} — Required: name
outboundVoiceProfile, err := client.OutboundVoiceProfiles.Update(
context.TODO(),
"1293384261075731499",
telnyx.OutboundVoiceProfileUpdateParams{
Name: "office",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", outboundVoiceProfile.Data)
Deletes an existing outbound voice profile.
DELETE /outbound_voice_profiles/{id}
outboundVoiceProfile, err := client.OutboundVoiceProfiles.Delete(context.TODO(), "1293384261075731499")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", outboundVoiceProfile.Data)
Returns a list of your connections irrespective of type.
GET /connections
page, err := client.Connections.List(context.TODO(), telnyx.ConnectionListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Retrieves the high-level details of an existing connection.
GET /connections/{id}
connection, err := client.Connections.Get(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", connection.Data)
Returns a list of your credential connections.
GET /credential_connections
page, err := client.CredentialConnections.List(context.TODO(), telnyx.CredentialConnectionListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Creates a credential connection.
POST /credential_connections — Required: user_name, password, connection_name
credentialConnection, err := client.CredentialConnections.New(context.TODO(), telnyx.CredentialConnectionNewParams{
ConnectionName: "my name",
Password: "my123secure456password789",
UserName: "myusername123",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", credentialConnection.Data)
Retrieves the details of an existing credential connection.
GET /credential_connections/{id}
credentialConnection, err := client.CredentialConnections.Get(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", credentialConnection.Data)
Updates settings of an existing credential connection.
PATCH /credential_connections/{id}
credentialConnection, err := client.CredentialConnections.Update(
context.TODO(),
"id",
telnyx.CredentialConnectionUpdateParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", credentialConnection.Data)
Deletes an existing credential connection.
DELETE /credential_connections/{id}
credentialConnection, err := client.CredentialConnections.Delete(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", credentialConnection.Data)
Checks the registration_status for a credential connection, (registration_status) as well as the timestamp for the last SIP registration event (registration_status_updated_at)
POST /credential_connections/{id}/actions/check_registration_status
response, err := client.CredentialConnections.Actions.CheckRegistrationStatus(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
Get all IPs belonging to the user that match the given filters.
GET /ips
page, err := client.IPs.List(context.TODO(), telnyx.IPListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Create a new IP object.
POST /ips — Required: ip_address
ip, err := client.IPs.New(context.TODO(), telnyx.IPNewParams{
IPAddress: "192.168.0.0",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", ip.Data)
Return the details regarding a specific IP.
GET /ips/{id}
ip, err := client.IPs.Get(context.TODO(), "6a09cdc3-8948-47f0-aa62-74ac943d6c58")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", ip.Data)
Update the details of a specific IP.
PATCH /ips/{id} — Required: ip_address
ip, err := client.IPs.Update(
context.TODO(),
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
telnyx.IPUpdateParams{
IPAddress: "192.168.0.0",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", ip.Data)
Delete an IP.
DELETE /ips/{id}
ip, err := client.IPs.Delete(context.TODO(), "6a09cdc3-8948-47f0-aa62-74ac943d6c58")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", ip.Data)
Returns a list of your IP connections.
GET /ip_connections
page, err := client.IPConnections.List(context.TODO(), telnyx.IPConnectionListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Creates an IP connection.
POST /ip_connections
ipConnection, err := client.IPConnections.New(context.TODO(), telnyx.IPConnectionNewParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", ipConnection.Data)
Retrieves the details of an existing ip connection.
GET /ip_connections/{id}
ipConnection, err := client.IPConnections.Get(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", ipConnection.Data)
Updates settings of an existing IP connection.
PATCH /ip_connections/{id}
ipConnection, err := client.IPConnections.Update(
context.TODO(),
"id",
telnyx.IPConnectionUpdateParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", ipConnection.Data)
Deletes an existing IP connection.
DELETE /ip_connections/{id}
ipConnection, err := client.IPConnections.Delete(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", ipConnection.Data)
Get all FQDNs belonging to the user that match the given filters.
GET /fqdns
page, err := client.Fqdns.List(context.TODO(), telnyx.FqdnListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Create a new FQDN object.
POST /fqdns — Required: fqdn, dns_record_type, connection_id
fqdn, err := client.Fqdns.New(context.TODO(), telnyx.FqdnNewParams{
ConnectionID: "1516447646313612565",
DNSRecordType: "a",
Fqdn: "example.com",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", fqdn.Data)
Return the details regarding a specific FQDN.
GET /fqdns/{id}
fqdn, err := client.Fqdns.Get(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", fqdn.Data)
Update the details of a specific FQDN.
PATCH /fqdns/{id}
fqdn, err := client.Fqdns.Update(
context.TODO(),
"id",
telnyx.FqdnUpdateParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", fqdn.Data)
Delete an FQDN.
DELETE /fqdns/{id}
fqdn, err := client.Fqdns.Delete(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", fqdn.Data)
Returns a list of your FQDN connections.
GET /fqdn_connections
page, err := client.FqdnConnections.List(context.TODO(), telnyx.FqdnConnectionListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Creates a FQDN connection.
POST /fqdn_connections — Required: connection_name
fqdnConnection, err := client.FqdnConnections.New(context.TODO(), telnyx.FqdnConnectionNewParams{
ConnectionName: "string",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", fqdnConnection.Data)
Retrieves the details of an existing FQDN connection.
GET /fqdn_connections/{id}
fqdnConnection, err := client.FqdnConnections.Get(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", fqdnConnection.Data)
Updates settings of an existing FQDN connection.
PATCH /fqdn_connections/{id}
fqdnConnection, err := client.FqdnConnections.Update(
context.TODO(),
"id",
telnyx.FqdnConnectionUpdateParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", fqdnConnection.Data)
Deletes an FQDN connection.
DELETE /fqdn_connections/{id}
fqdnConnection, err := client.FqdnConnections.Delete(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", fqdnConnection.Data)
GET /v2/mobile_voice_connections
page, err := client.MobileVoiceConnections.List(context.TODO(), telnyx.MobileVoiceConnectionListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
POST /v2/mobile_voice_connections
mobileVoiceConnection, err := client.MobileVoiceConnections.New(context.TODO(), telnyx.MobileVoiceConnectionNewParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", mobileVoiceConnection.Data)
GET /v2/mobile_voice_connections/{id}
mobileVoiceConnection, err := client.MobileVoiceConnections.Get(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", mobileVoiceConnection.Data)
PATCH /v2/mobile_voice_connections/{id}
mobileVoiceConnection, err := client.MobileVoiceConnections.Update(
context.TODO(),
"id",
telnyx.MobileVoiceConnectionUpdateParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", mobileVoiceConnection.Data)
DELETE /v2/mobile_voice_connections/{id}
mobileVoiceConnection, err := client.MobileVoiceConnections.Delete(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", mobileVoiceConnection.Data)
tools
Build cross-platform VoIP calling apps with React Native using Telnyx Voice SDK. High-level reactive API with automatic lifecycle management, CallKit/ConnectionService integration, and push notifications. Use for mobile VoIP apps with minimal setup.
tools
Build browser-based VoIP calling apps using Telnyx WebRTC JavaScript SDK. Covers authentication, voice calls, events, debugging, call quality metrics, and AI Agent integration. Use for web-based real-time communication.
tools
Build VoIP calling apps on iOS using Telnyx WebRTC SDK. Covers authentication, making/receiving calls, CallKit integration, PushKit/APNS push notifications, call quality metrics, and AI Agent integration. Use when implementing real-time voice communication on iOS.
tools
Build cross-platform VoIP calling apps with Flutter using Telnyx WebRTC SDK. Covers authentication, making/receiving calls, push notifications (FCM + APNS), call quality metrics, and AI Agent integration. Works on Android, iOS, and Web.