api/go/telnyx-account-access-go/SKILL.md
Configure account addresses, authentication providers, IP access controls, billing groups, and integration secrets. This skill provides Go SDK examples.
npx skillsauth add team-telnyx/telnyx-toolkit telnyx-account-access-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.
Returns a list of your addresses.
GET /addresses
page, err := client.Addresses.List(context.TODO(), telnyx.AddressListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Creates an address.
POST /addresses — Required: first_name, last_name, business_name, street_address, locality, country_code
address, err := client.Addresses.New(context.TODO(), telnyx.AddressNewParams{
BusinessName: "Toy-O'Kon",
CountryCode: "US",
FirstName: "Alfred",
LastName: "Foster",
Locality: "Austin",
StreetAddress: "600 Congress Avenue",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", address.Data)
Retrieves the details of an existing address.
GET /addresses/{id}
address, err := client.Addresses.Get(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", address.Data)
Deletes an existing address.
DELETE /addresses/{id}
address, err := client.Addresses.Delete(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", address.Data)
POST /addresses/{id}/actions/accept_suggestions
response, err := client.Addresses.Actions.AcceptSuggestions(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AddressActionAcceptSuggestionsParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
Validates an address for emergency services.
POST /addresses/actions/validate — Required: country_code, street_address, postal_code
response, err := client.Addresses.Actions.Validate(context.TODO(), telnyx.AddressActionValidateParams{
CountryCode: "US",
PostalCode: "78701",
StreetAddress: "600 Congress Avenue",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
Returns a list of your SSO authentication providers.
GET /authentication_providers
page, err := client.AuthenticationProviders.List(context.TODO(), telnyx.AuthenticationProviderListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Creates an authentication provider.
POST /authentication_providers — Required: name, short_name, settings
authenticationProvider, err := client.AuthenticationProviders.New(context.TODO(), telnyx.AuthenticationProviderNewParams{
Name: "Okta",
Settings: telnyx.SettingsParam{
IdpCertFingerprint: "13:38:C7:BB:C9:FF:4A:70:38:3A:E3:D9:5C:CD:DB:2E:50:1E:80:A7",
IdpEntityID: "https://myorg.myidp.com/saml/metadata",
IdpSSOTargetURL: "https://myorg.myidp.com/trust/saml2/http-post/sso",
},
ShortName: "myorg",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", authenticationProvider.Data)
Retrieves the details of an existing authentication provider.
GET /authentication_providers/{id}
authenticationProvider, err := client.AuthenticationProviders.Get(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", authenticationProvider.Data)
Updates settings of an existing authentication provider.
PATCH /authentication_providers/{id}
authenticationProvider, err := client.AuthenticationProviders.Update(
context.TODO(),
"id",
telnyx.AuthenticationProviderUpdateParams{
Active: telnyx.Bool(true),
Name: telnyx.String("Okta"),
Settings: telnyx.SettingsParam{
IdpEntityID: "https://myorg.myidp.com/saml/metadata",
IdpSSOTargetURL: "https://myorg.myidp.com/trust/saml2/http-post/sso",
IdpCertFingerprint: "13:38:C7:BB:C9:FF:4A:70:38:3A:E3:D9:5C:CD:DB:2E:50:1E:80:A7",
IdpCertFingerprintAlgorithm: telnyx.SettingsIdpCertFingerprintAlgorithmSha1,
},
ShortName: telnyx.String("myorg"),
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", authenticationProvider.Data)
Deletes an existing authentication provider.
DELETE /authentication_providers/{id}
authenticationProvider, err := client.AuthenticationProviders.Delete(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", authenticationProvider.Data)
GET /billing_groups
page, err := client.BillingGroups.List(context.TODO(), telnyx.BillingGroupListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
POST /billing_groups
billingGroup, err := client.BillingGroups.New(context.TODO(), telnyx.BillingGroupNewParams{
Name: telnyx.String("string"),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", billingGroup.Data)
GET /billing_groups/{id}
billingGroup, err := client.BillingGroups.Get(context.TODO(), "f5586561-8ff0-4291-a0ac-84fe544797bd")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", billingGroup.Data)
PATCH /billing_groups/{id}
billingGroup, err := client.BillingGroups.Update(
context.TODO(),
"f5586561-8ff0-4291-a0ac-84fe544797bd",
telnyx.BillingGroupUpdateParams{
Name: telnyx.String("string"),
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", billingGroup.Data)
DELETE /billing_groups/{id}
billingGroup, err := client.BillingGroups.Delete(context.TODO(), "f5586561-8ff0-4291-a0ac-84fe544797bd")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", billingGroup.Data)
Retrieve a list of all integration secrets configured by the user.
GET /integration_secrets
page, err := client.IntegrationSecrets.List(context.TODO(), telnyx.IntegrationSecretListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Create a new secret with an associated identifier that can be used to securely integrate with other services.
POST /integration_secrets — Required: identifier, type
integrationSecret, err := client.IntegrationSecrets.New(context.TODO(), telnyx.IntegrationSecretNewParams{
Identifier: "my_secret",
Type: telnyx.IntegrationSecretNewParamsTypeBearer,
Token: telnyx.String("my_secret_value"),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", integrationSecret.Data)
Delete an integration secret given its ID.
DELETE /integration_secrets/{id}
err := client.IntegrationSecrets.Delete(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
GET /access_ip_address
page, err := client.AccessIPAddress.List(context.TODO(), telnyx.AccessIPAddressListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
POST /access_ip_address — Required: ip_address
accessIPAddressResponse, err := client.AccessIPAddress.New(context.TODO(), telnyx.AccessIPAddressNewParams{
IPAddress: "ip_address",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", accessIPAddressResponse.ID)
GET /access_ip_address/{access_ip_address_id}
accessIPAddressResponse, err := client.AccessIPAddress.Get(context.TODO(), "access_ip_address_id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", accessIPAddressResponse.ID)
DELETE /access_ip_address/{access_ip_address_id}
accessIPAddressResponse, err := client.AccessIPAddress.Delete(context.TODO(), "access_ip_address_id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", accessIPAddressResponse.ID)
GET /access_ip_ranges
page, err := client.AccessIPRanges.List(context.TODO(), telnyx.AccessIPRangeListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
POST /access_ip_ranges — Required: cidr_block
accessIPRange, err := client.AccessIPRanges.New(context.TODO(), telnyx.AccessIPRangeNewParams{
CidrBlock: "cidr_block",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", accessIPRange.ID)
DELETE /access_ip_ranges/{access_ip_range_id}
accessIPRange, err := client.AccessIPRanges.Delete(context.TODO(), "access_ip_range_id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", accessIPRange.ID)
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.