Skip to main content
telnyx-oauth-go Implement OAuth 2.0 authentication flows for Telnyx API access. This skill provides Go SDK examples.
Jump to install Skills Marketplace Discover and explore AI skills built by the community.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Copy promptShow prompt details A direct command skips the review prompt. Inspect the source before running it.
npx skills add https://github.com/team-telnyx/telnyx-toolkit --skill telnyx-oauth-goThe command stays on one line. Scroll horizontally to inspect it before copying.
Prefer a local copy? Download the files currently available to SkillsMP.
Download Zip Downloading... More from this repository Complete Telnyx toolkit — ready-to-use tools (STT, TTS, RAG, Networking, 10DLC) plus SDK documentation for JavaScript, Python, Go, Java, and Ruby.
Automated Telnyx bot account signup via challenge-response
Track agent activities using the Telnyx AI Missions API. Use this skill when executing multi-step tasks that should be logged and tracked. Supports creating voice/SMS agents, scheduling calls, and retrieving conversation insights. Use when tasks involve calling people, sending SMS, or any substantial tracked work.
Based on SOC occupation classification
name telnyx-oauth-go description Implement OAuth 2.0 authentication flows for Telnyx API access. This skill provides Go SDK examples. metadata {"author":"telnyx","product":"oauth","language":"go","generated_by":"telnyx-ext-skills-generator"}
Telnyx Oauth - Go
Installation
go get github.com/team-telnyx/telnyx-go
Setup
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.
Authorization server metadata
OAuth 2.0 Authorization Server Metadata (RFC 8414)
GET /.well-known/oauth-authorization-server
response, err := client.WellKnown.GetAuthorizationServerMetadata(context.TODO())
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.AuthorizationEndpoint)
Protected resource metadata
OAuth 2.0 Protected Resource Metadata for resource discovery
GET /.well-known/oauth-protected-resource
response, err := client.WellKnown.GetProtectedResourceMetadata(context.TODO())
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.AuthorizationServers)
OAuth authorization endpoint OAuth 2.0 authorization endpoint for the authorization code flow
err := client.OAuth.GetAuthorize(context.TODO(), telnyx.OAuthGetAuthorizeParams{
ClientID: "client_id" ,
RedirectUri: "https://example.com" ,
ResponseType: telnyx.OAuthGetAuthorizeParamsResponseTypeCode,
})
if err != nil {
panic (err.Error())
}
List OAuth clients Retrieve a paginated list of OAuth clients for the authenticated user
page, err := client.OAuthClients.List(context.TODO(), telnyx.OAuthClientListParams{})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , page)
Create OAuth client Create a new OAuth client
POST /oauth/clients — Required: name, allowed_scopes, client_type, allowed_grant_types
oauthClient, err := client.OAuthClients.New(context.TODO(), telnyx.OAuthClientNewParams{
AllowedGrantTypes: []string {"client_credentials" },
AllowedScopes: []string {"admin" },
ClientType: telnyx.OAuthClientNewParamsClientTypePublic,
Name: "My OAuth client" ,
})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauthClient.Data)
Get OAuth client Retrieve a single OAuth client by ID
oauthClient, err := client.OAuthClients.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" )
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauthClient.Data)
Update OAuth client Update an existing OAuth client
oauthClient, err := client.OAuthClients.Update(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" ,
telnyx.OAuthClientUpdateParams{},
)
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauthClient.Data)
Delete OAuth client DELETE /oauth/clients/{id}
err := client.OAuthClients.Delete(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" )
if err != nil {
panic (err.Error())
}
Get OAuth consent token Retrieve details about an OAuth consent token
GET /oauth/consent/{consent_token}
oauth, err := client.OAuth.Get(context.TODO(), "consent_token" )
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauth.Data)
List OAuth grants Retrieve a paginated list of OAuth grants for the authenticated user
page, err := client.OAuthGrants.List(context.TODO(), telnyx.OAuthGrantListParams{})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , page)
Get OAuth grant Retrieve a single OAuth grant by ID
oauthGrant, err := client.OAuthGrants.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" )
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauthGrant.Data)
Revoke OAuth grant DELETE /oauth/grants/{id}
oauthGrant, err := client.OAuthGrants.Delete(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" )
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauthGrant.Data)
Token introspection Introspect an OAuth access token to check its validity and metadata
POST /oauth/introspect — Required: token
response, err := client.OAuth.Introspect(context.TODO(), telnyx.OAuthIntrospectParams{
Token: "token" ,
})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.ClientID)
JSON Web Key Set Retrieve the JSON Web Key Set for token verification
response, err := client.OAuth.GetJwks(context.TODO())
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.Keys)
Dynamic client registration Register a new OAuth client dynamically (RFC 7591)
response, err := client.OAuth.Register(context.TODO(), telnyx.OAuthRegisterParams{})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.ClientID)
OAuth token endpoint Exchange authorization code, client credentials, or refresh token for access token
POST /oauth/token — Required: grant_type
response, err := client.OAuth.Token(context.TODO(), telnyx.OAuthTokenParams{
GrantType: telnyx.OAuthTokenParamsGrantTypeClientCredentials,
})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.AccessToken)