원클릭으로
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 직업 분류 기준
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.
| 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)