Loading...
Loading...
Manage sub-accounts for reseller and enterprise scenarios. This skill provides Go SDK examples.
npx skill4agent add team-telnyx/skills telnyx-account-management-gogo get github.com/team-telnyx/telnyx-goimport (
"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")),
)clientimport "errors"
result, err := client.Messages.Send(ctx, params)
if err != nil {
var apiErr *telnyx.Error
if errors.As(err, &apiErr) {
switch apiErr.StatusCode {
case 422:
fmt.Println("Validation error — check required fields and formats")
case 429:
// Rate limited — wait and retry with exponential backoff
fmt.Println("Rate limited, retrying...")
default:
fmt.Printf("API error %d: %s\n", apiErr.StatusCode, apiErr.Error())
}
} else {
fmt.Println("Network error — check connectivity and retry")
}
}401403404422429ListAutoPaging()iter := client.Resource.ListAutoPaging(ctx, params); for iter.Next() { item := iter.Current() }GET /managed_accounts page, err := client.ManagedAccounts.List(context.Background(), telnyx.ManagedAccountListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)api_usercreated_atemailidmanaged_account_allow_custom_pricingmanager_account_idorganization_namerecord_typerollup_billingupdated_atPOST /managed_accountsbusiness_nameemailmanaged_account_allow_custom_pricingpasswordrollup_billing managedAccount, err := client.ManagedAccounts.New(context.Background(), telnyx.ManagedAccountNewParams{
BusinessName: "Larry's Cat Food Inc",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", managedAccount.Data)api_keyapi_tokenapi_userbalancecreated_atemailidmanaged_account_allow_custom_pricingmanager_account_idorganization_namerecord_typerollup_billingupdated_atGET /managed_accounts/allocatable_global_outbound_channels response, err := client.ManagedAccounts.GetAllocatableGlobalOutboundChannels(context.Background())
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)allocatable_global_outbound_channelsmanaged_account_allow_custom_pricingrecord_typetotal_global_channels_allocatedGET /managed_accounts/{id} managedAccount, err := client.ManagedAccounts.Get(context.Background(), "id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", managedAccount.Data)api_keyapi_tokenapi_userbalancecreated_atemailidmanaged_account_allow_custom_pricingmanager_account_idorganization_namerecord_typerollup_billingupdated_atPATCH /managed_accounts/{id}managed_account_allow_custom_pricing managedAccount, err := client.ManagedAccounts.Update(
context.Background(),
"id",
telnyx.ManagedAccountUpdateParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", managedAccount.Data)api_keyapi_tokenapi_userbalancecreated_atemailidmanaged_account_allow_custom_pricingmanager_account_idorganization_namerecord_typerollup_billingupdated_atPOST /managed_accounts/{id}/actions/disable response, err := client.ManagedAccounts.Actions.Disable(context.Background(), "id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)api_keyapi_tokenapi_userbalancecreated_atemailidmanaged_account_allow_custom_pricingmanager_account_idorganization_namerecord_typerollup_billingupdated_atPOST /managed_accounts/{id}/actions/enablereenable_all_connections response, err := client.ManagedAccounts.Actions.Enable(
context.Background(),
"id",
telnyx.ManagedAccountActionEnableParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)api_keyapi_tokenapi_userbalancecreated_atemailidmanaged_account_allow_custom_pricingmanager_account_idorganization_namerecord_typerollup_billingupdated_atPATCH /managed_accounts/{id}/update_global_channel_limitchannel_limit response, err := client.ManagedAccounts.UpdateGlobalChannelLimit(
context.Background(),
"id",
telnyx.ManagedAccountUpdateGlobalChannelLimitParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)channel_limitemailidmanager_account_idrecord_typeGET /organizations/users page, err := client.Organizations.Users.List(context.Background(), telnyx.OrganizationUserListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)created_atemailgroupsidlast_sign_in_atorganization_user_bypasses_ssorecord_typeuser_statusGET /organizations/users/users_groups_report response, err := client.Organizations.Users.GetGroupsReport(context.Background(), telnyx.OrganizationUserGetGroupsReportParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)created_atemailgroupsidlast_sign_in_atorganization_user_bypasses_ssorecord_typeuser_statusGET /organizations/users/{id} user, err := client.Organizations.Users.Get(
context.Background(),
"id",
telnyx.OrganizationUserGetParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", user.Data)created_atemailgroupsidlast_sign_in_atorganization_user_bypasses_ssorecord_typeuser_statusPOST /organizations/users/{id}/actions/remove action, err := client.Organizations.Users.Actions.Remove(context.Background(), "id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", action.Data)created_atemailgroupsidlast_sign_in_atorganization_user_bypasses_ssorecord_typeuser_status