ワンクリックで
telnyx-oauth-go
Implement OAuth 2.0 authentication flows for Telnyx API access. This skill provides Go SDK examples.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Implement OAuth 2.0 authentication flows for Telnyx API access. This skill provides Go SDK examples.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| 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"} |
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.
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)
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 2.0 authorization endpoint for the authorization code flow
GET /oauth/authorize
err := client.OAuth.GetAuthorize(context.TODO(), telnyx.OAuthGetAuthorizeParams{
ClientID: "client_id",
RedirectUri: "https://example.com",
ResponseType: telnyx.OAuthGetAuthorizeParamsResponseTypeCode,
})
if err != nil {
panic(err.Error())
}
Retrieve a paginated list of OAuth clients for the authenticated user
GET /oauth/clients
page, err := client.OAuthClients.List(context.TODO(), telnyx.OAuthClientListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
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)
Retrieve a single OAuth client by ID
GET /oauth/clients/{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 an existing OAuth client
PUT /oauth/clients/{id}
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 an OAuth client
DELETE /oauth/clients/{id}
err := client.OAuthClients.Delete(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
panic(err.Error())
}
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)
Retrieve a paginated list of OAuth grants for the authenticated user
GET /oauth/grants
page, err := client.OAuthGrants.List(context.TODO(), telnyx.OAuthGrantListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Retrieve a single OAuth grant by ID
GET /oauth/grants/{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 an 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)
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)
Retrieve the JSON Web Key Set for token verification
GET /oauth/jwks
response, err := client.OAuth.GetJwks(context.TODO())
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Keys)
Register a new OAuth client dynamically (RFC 7591)
POST /oauth/register
response, err := client.OAuth.Register(context.TODO(), telnyx.OAuthRegisterParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.ClientID)
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)
Automated Telnyx bot account signup via obfuscated mathematical challenge
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.
Automatically upgrade Telnyx account from freemium to professional tier
Test VoIP push notifications for Telnyx WebRTC iOS (APNs) and Android (FCM) apps. Use when debugging push notification delivery, validating certificate/credential setup, or testing that a device receives VoIP pushes correctly.
Text-to-vector embeddings and semantic search using Telnyx AI. Generate embedding vectors via an OpenAI-compatible API — no OpenAI or Google API keys required.
Register brands and campaigns for 10DLC (10-digit long code) A2P messaging compliance in the US. Manage campaign assignments to phone numbers. This skill provides Go SDK examples.