api/go/telnyx-numbers-compliance-go/SKILL.md
Manage regulatory requirements, number bundles, supporting documents, and verified numbers for compliance. This skill provides Go SDK examples.
npx skillsauth add team-telnyx/telnyx-toolkit telnyx-numbers-compliance-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 allowed bundles.
GET /bundle_pricing/billing_bundles
page, err := client.BundlePricing.BillingBundles.List(context.TODO(), telnyx.BundlePricingBillingBundleListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Get a single bundle by ID.
GET /bundle_pricing/billing_bundles/{bundle_id}
billingBundle, err := client.BundlePricing.BillingBundles.Get(
context.TODO(),
"8661948c-a386-4385-837f-af00f40f111a",
telnyx.BundlePricingBillingBundleGetParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", billingBundle.Data)
Get a paginated list of user bundles.
GET /bundle_pricing/user_bundles
page, err := client.BundlePricing.UserBundles.List(context.TODO(), telnyx.BundlePricingUserBundleListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Creates multiple user bundles for the user.
POST /bundle_pricing/user_bundles/bulk
userBundle, err := client.BundlePricing.UserBundles.New(context.TODO(), telnyx.BundlePricingUserBundleNewParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", userBundle.Data)
Returns all user bundles that aren't in use.
GET /bundle_pricing/user_bundles/unused
response, err := client.BundlePricing.UserBundles.ListUnused(context.TODO(), telnyx.BundlePricingUserBundleListUnusedParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
Retrieves a user bundle by its ID.
GET /bundle_pricing/user_bundles/{user_bundle_id}
userBundle, err := client.BundlePricing.UserBundles.Get(
context.TODO(),
"ca1d2263-d1f1-43ac-ba53-248e7a4bb26a",
telnyx.BundlePricingUserBundleGetParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", userBundle.Data)
Deactivates a user bundle by its ID.
DELETE /bundle_pricing/user_bundles/{user_bundle_id}
response, err := client.BundlePricing.UserBundles.Deactivate(
context.TODO(),
"ca1d2263-d1f1-43ac-ba53-248e7a4bb26a",
telnyx.BundlePricingUserBundleDeactivateParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
Retrieves the resources of a user bundle by its ID.
GET /bundle_pricing/user_bundles/{user_bundle_id}/resources
response, err := client.BundlePricing.UserBundles.ListResources(
context.TODO(),
"ca1d2263-d1f1-43ac-ba53-248e7a4bb26a",
telnyx.BundlePricingUserBundleListResourcesParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
List all documents links ordered by created_at descending.
GET /document_links
page, err := client.DocumentLinks.List(context.TODO(), telnyx.DocumentLinkListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
List all documents ordered by created_at descending.
GET /documents
page, err := client.Documents.List(context.TODO(), telnyx.DocumentListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Upload a document.<br /><br />Uploaded files must be linked to a service within 30 minutes or they will be automatically deleted.
POST /documents
response, err := client.Documents.UploadJson(context.TODO(), telnyx.DocumentUploadJsonParams{
Document: telnyx.DocumentUploadJsonParamsDocument{},
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
Retrieve a document.
GET /documents/{id}
document, err := client.Documents.Get(context.TODO(), "6a09cdc3-8948-47f0-aa62-74ac943d6c58")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", document.Data)
Update a document.
PATCH /documents/{id}
document, err := client.Documents.Update(
context.TODO(),
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
telnyx.DocumentUpdateParams{
DocServiceDocument: telnyx.DocServiceDocumentParam{},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", document.Data)
Delete a document.<br /><br />A document can only be deleted if it's not linked to a service.
DELETE /documents/{id}
document, err := client.Documents.Delete(context.TODO(), "6a09cdc3-8948-47f0-aa62-74ac943d6c58")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", document.Data)
Download a document.
GET /documents/{id}/download
response, err := client.Documents.Download(context.TODO(), "6a09cdc3-8948-47f0-aa62-74ac943d6c58")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response)
Generates a temporary pre-signed URL that can be used to download the document directly from the storage backend without authentication.
GET /documents/{id}/download_link
response, err := client.Documents.GenerateDownloadLink(context.TODO(), "550e8400-e29b-41d4-a716-446655440000")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
List all requirements with filtering, sorting, and pagination
GET /requirements
page, err := client.Requirements.List(context.TODO(), telnyx.RequirementListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Retrieve a document requirement record
GET /requirements/{id}
requirement, err := client.Requirements.Get(context.TODO(), "a9dad8d5-fdbd-49d7-aa23-39bb08a5ebaa")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", requirement.Data)
List all requirement types ordered by created_at descending
GET /requirement_types
requirementTypes, err := client.RequirementTypes.List(context.TODO(), telnyx.RequirementTypeListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", requirementTypes.Data)
Retrieve a requirement type by id
GET /requirement_types/{id}
requirementType, err := client.RequirementTypes.Get(context.TODO(), "a38c217a-8019-48f8-bff6-0fdd9939075b")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", requirementType.Data)
GET /regulatory_requirements
regulatoryRequirement, err := client.RegulatoryRequirements.Get(context.TODO(), telnyx.RegulatoryRequirementGetParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", regulatoryRequirement.Data)
GET /requirement_groups
requirementGroups, err := client.RequirementGroups.List(context.TODO(), telnyx.RequirementGroupListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", requirementGroups)
POST /requirement_groups — Required: country_code, phone_number_type, action
requirementGroup, err := client.RequirementGroups.New(context.TODO(), telnyx.RequirementGroupNewParams{
Action: telnyx.RequirementGroupNewParamsActionOrdering,
CountryCode: "US",
PhoneNumberType: telnyx.RequirementGroupNewParamsPhoneNumberTypeLocal,
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", requirementGroup.ID)
GET /requirement_groups/{id}
requirementGroup, err := client.RequirementGroups.Get(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", requirementGroup.ID)
PATCH /requirement_groups/{id}
requirementGroup, err := client.RequirementGroups.Update(
context.TODO(),
"id",
telnyx.RequirementGroupUpdateParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", requirementGroup.ID)
DELETE /requirement_groups/{id}
requirementGroup, err := client.RequirementGroups.Delete(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", requirementGroup.ID)
POST /requirement_groups/{id}/submit_for_approval
requirementGroup, err := client.RequirementGroups.SubmitForApproval(context.TODO(), "id")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", requirementGroup.ID)
Gets a paginated list of Verified Numbers.
GET /verified_numbers
page, err := client.VerifiedNumbers.List(context.TODO(), telnyx.VerifiedNumberListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Initiates phone number verification procedure.
POST /verified_numbers — Required: phone_number, verification_method
verifiedNumber, err := client.VerifiedNumbers.New(context.TODO(), telnyx.VerifiedNumberNewParams{
PhoneNumber: "+15551234567",
VerificationMethod: telnyx.VerifiedNumberNewParamsVerificationMethodSMS,
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", verifiedNumber.PhoneNumber)
GET /verified_numbers/{phone_number}
verifiedNumberDataWrapper, err := client.VerifiedNumbers.Get(context.TODO(), "+15551234567")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", verifiedNumberDataWrapper.Data)
DELETE /verified_numbers/{phone_number}
verifiedNumberDataWrapper, err := client.VerifiedNumbers.Delete(context.TODO(), "+15551234567")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", verifiedNumberDataWrapper.Data)
POST /verified_numbers/{phone_number}/actions/verify — Required: verification_code
verifiedNumberDataWrapper, err := client.VerifiedNumbers.Actions.SubmitVerificationCode(
context.TODO(),
"+15551234567",
telnyx.VerifiedNumberActionSubmitVerificationCodeParams{
VerificationCode: "123456",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", verifiedNumberDataWrapper.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.