{"id":"1be693de-a754-4eb3-9b8a-3b3b15b17751","shortId":"W2bG4F","kind":"skill","title":"telnyx-oauth-go","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Oauth - Go\n\n## Installation\n\n```bash\ngo get github.com/team-telnyx/telnyx-go\n```\n\n## Setup\n\n```go\nimport (\n  \"context\"\n  \"fmt\"\n  \"os\"\n\n  \"github.com/team-telnyx/telnyx-go\"\n  \"github.com/team-telnyx/telnyx-go/option\"\n)\n\nclient := telnyx.NewClient(\n  option.WithAPIKey(os.Getenv(\"TELNYX_API_KEY\")),\n)\n```\n\nAll examples below assume `client` is already initialized as shown above.\n\n## Error Handling\n\nAll API calls can fail with network errors, rate limits (429), validation errors (422),\nor authentication errors (401). Always handle errors in production code:\n\n```go\nimport \"errors\"\n\nresult, err := client.Messages.Send(ctx, params)\nif err != nil {\n  var apiErr *telnyx.Error\n  if errors.As(err, &apiErr) {\n    switch apiErr.StatusCode {\n    case 422:\n      fmt.Println(\"Validation error — check required fields and formats\")\n    case 429:\n      // Rate limited — wait and retry with exponential backoff\n      fmt.Println(\"Rate limited, retrying...\")\n    default:\n      fmt.Printf(\"API error %d: %s\\n\", apiErr.StatusCode, apiErr.Error())\n    }\n  } else {\n    fmt.Println(\"Network error — check connectivity and retry\")\n  }\n}\n```\n\nCommon error codes: `401` invalid API key, `403` insufficient permissions,\n`404` resource not found, `422` validation error (check field formats),\n`429` rate limited (retry with exponential backoff).\n\n## Important Notes\n\n- **Pagination:** Use `ListAutoPaging()` for automatic iteration: `iter := client.Resource.ListAutoPaging(ctx, params); for iter.Next() { item := iter.Current() }`.\n\n## Authorization server metadata\n\nOAuth 2.0 Authorization Server Metadata (RFC 8414)\n\n`GET /.well-known/oauth-authorization-server`\n\n```go\n\tresponse, err := client.WellKnown.GetAuthorizationServerMetadata(context.Background())\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.AuthorizationEndpoint)\n```\n\nReturns: `authorization_endpoint` (uri), `code_challenge_methods_supported` (array[string]), `grant_types_supported` (array[string]), `introspection_endpoint` (uri), `issuer` (uri), `jwks_uri` (uri), `registration_endpoint` (uri), `response_types_supported` (array[string]), `scopes_supported` (array[string]), `token_endpoint` (uri), `token_endpoint_auth_methods_supported` (array[string])\n\n## Protected resource metadata\n\nOAuth 2.0 Protected Resource Metadata for resource discovery\n\n`GET /.well-known/oauth-protected-resource`\n\n```go\n\tresponse, err := client.WellKnown.GetProtectedResourceMetadata(context.Background())\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.AuthorizationServers)\n```\n\nReturns: `authorization_servers` (array[string]), `resource` (uri)\n\n## OAuth authorization endpoint\n\nOAuth 2.0 authorization endpoint for the authorization code flow\n\n`GET /oauth/authorize`\n\n```go\n\terr := client.OAuth.GetAuthorize(context.Background(), telnyx.OAuthGetAuthorizeParams{\n\t\tClientID: \"550e8400-e29b-41d4-a716-446655440000\",\n\t\tRedirectUri:  \"https://example.com\",\n\t\tResponseType: telnyx.OAuthGetAuthorizeParamsResponseTypeCode,\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n```\n\n## Get OAuth consent token\n\nRetrieve details about an OAuth consent token\n\n`GET /oauth/consent/{consent_token}`\n\n```go\n\toauth, err := client.OAuth.Get(context.Background(), \"consent_token\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", oauth.Data)\n```\n\nReturns: `client_id` (string), `logo_uri` (uri), `name` (string), `policy_uri` (uri), `redirect_uri` (uri), `requested_scopes` (array[object]), `tos_uri` (uri), `verified` (boolean)\n\n## Create OAuth grant\n\nCreate an OAuth authorization grant\n\n`POST /oauth/grants` — Required: `allowed`, `consent_token`\n\n```go\n\tresponse, err := client.OAuth.Grants(context.Background(), telnyx.OAuthGrantsParams{\n\t\tAllowed:      true,\n\t\tConsentToken: \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.example\",\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.RedirectUri)\n```\n\nReturns: `redirect_uri` (uri)\n\n## Token introspection\n\nIntrospect an OAuth access token to check its validity and metadata\n\n`POST /oauth/introspect` — Required: `token`\n\n```go\n\tresponse, err := client.OAuth.Introspect(context.Background(), telnyx.OAuthIntrospectParams{\n\t\tToken: \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.example\",\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.ClientID)\n```\n\nReturns: `active` (boolean), `aud` (string), `client_id` (string), `exp` (integer), `iat` (integer), `iss` (string), `scope` (string)\n\n## JSON Web Key Set\n\nRetrieve the JSON Web Key Set for token verification\n\n`GET /oauth/jwks`\n\n```go\n\tresponse, err := client.OAuth.GetJwks(context.Background())\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Keys)\n```\n\nReturns: `keys` (array[object])\n\n## Dynamic client registration\n\nRegister a new OAuth client dynamically (RFC 7591)\n\n`POST /oauth/register`\n\nOptional: `client_name` (string), `grant_types` (array[string]), `logo_uri` (uri), `policy_uri` (uri), `redirect_uris` (array[string]), `response_types` (array[string]), `scope` (string), `token_endpoint_auth_method` (enum: none, client_secret_basic, client_secret_post), `tos_uri` (uri)\n\n```go\n\tresponse, err := client.OAuth.Register(context.Background(), telnyx.OAuthRegisterParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.ClientID)\n```\n\nReturns: `client_id` (string), `client_id_issued_at` (integer), `client_name` (string), `client_secret` (string), `grant_types` (array[string]), `logo_uri` (uri), `policy_uri` (uri), `redirect_uris` (array[string]), `response_types` (array[string]), `scope` (string), `token_endpoint_auth_method` (string), `tos_uri` (uri)\n\n## OAuth token endpoint\n\nExchange authorization code, client credentials, or refresh token for access token\n\n`POST /oauth/token` — Required: `grant_type`\n\nOptional: `client_id` (string), `client_secret` (string), `code` (string), `code_verifier` (string), `redirect_uri` (uri), `refresh_token` (string), `scope` (string)\n\n```go\n\tresponse, err := client.OAuth.Token(context.Background(), telnyx.OAuthTokenParams{\n\t\tGrantType: telnyx.OAuthTokenParamsGrantTypeClientCredentials,\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", response.AccessToken)\n```\n\nReturns: `access_token` (string), `expires_in` (integer), `refresh_token` (string), `scope` (string), `token_type` (enum: Bearer)\n\n## List OAuth clients\n\nRetrieve a paginated list of OAuth clients for the authenticated user\n\n`GET /oauth_clients`\n\n```go\n\tpage, err := client.OAuthClients.List(context.Background(), telnyx.OAuthClientListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n```\n\nReturns: `allowed_grant_types` (array[string]), `allowed_scopes` (array[string]), `client_id` (string), `client_secret` (string | null), `client_type` (enum: public, confidential), `created_at` (date-time), `logo_uri` (uri), `name` (string), `org_id` (string), `policy_uri` (uri), `record_type` (enum: oauth_client), `redirect_uris` (array[string]), `require_pkce` (boolean), `tos_uri` (uri), `updated_at` (date-time), `user_id` (string)\n\n## Create OAuth client\n\nCreate a new OAuth client\n\n`POST /oauth_clients` — Required: `name`, `allowed_scopes`, `client_type`, `allowed_grant_types`\n\nOptional: `logo_uri` (uri), `policy_uri` (uri), `redirect_uris` (array[string]), `require_pkce` (boolean), `tos_uri` (uri)\n\n```go\n\toauthClient, err := client.OAuthClients.New(context.Background(), telnyx.OAuthClientNewParams{\n\t\tAllowedGrantTypes: []string{\"client_credentials\"},\n\t\tAllowedScopes:     []string{\"admin\"},\n\t\tClientType:        telnyx.OAuthClientNewParamsClientTypePublic,\n\t\tName:              \"My OAuth client\",\n\t})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", oauthClient.Data)\n```\n\nReturns: `allowed_grant_types` (array[string]), `allowed_scopes` (array[string]), `client_id` (string), `client_secret` (string | null), `client_type` (enum: public, confidential), `created_at` (date-time), `logo_uri` (uri), `name` (string), `org_id` (string), `policy_uri` (uri), `record_type` (enum: oauth_client), `redirect_uris` (array[string]), `require_pkce` (boolean), `tos_uri` (uri), `updated_at` (date-time), `user_id` (string)\n\n## Get OAuth client\n\nRetrieve a single OAuth client by ID\n\n`GET /oauth_clients/{id}`\n\n```go\n\toauthClient, err := client.OAuthClients.Get(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", oauthClient.Data)\n```\n\nReturns: `allowed_grant_types` (array[string]), `allowed_scopes` (array[string]), `client_id` (string), `client_secret` (string | null), `client_type` (enum: public, confidential), `created_at` (date-time), `logo_uri` (uri), `name` (string), `org_id` (string), `policy_uri` (uri), `record_type` (enum: oauth_client), `redirect_uris` (array[string]), `require_pkce` (boolean), `tos_uri` (uri), `updated_at` (date-time), `user_id` (string)\n\n## Update OAuth client\n\nUpdate an existing OAuth client\n\n`PUT /oauth_clients/{id}`\n\nOptional: `allowed_grant_types` (array[string]), `allowed_scopes` (array[string]), `logo_uri` (uri), `name` (string), `policy_uri` (uri), `redirect_uris` (array[string]), `require_pkce` (boolean), `tos_uri` (uri)\n\n```go\n\toauthClient, err := client.OAuthClients.Update(\n\t\tcontext.Background(),\n\t\t\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n\t\ttelnyx.OAuthClientUpdateParams{},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", oauthClient.Data)\n```\n\nReturns: `allowed_grant_types` (array[string]), `allowed_scopes` (array[string]), `client_id` (string), `client_secret` (string | null), `client_type` (enum: public, confidential), `created_at` (date-time), `logo_uri` (uri), `name` (string), `org_id` (string), `policy_uri` (uri), `record_type` (enum: oauth_client), `redirect_uris` (array[string]), `require_pkce` (boolean), `tos_uri` (uri), `updated_at` (date-time), `user_id` (string)\n\n## Delete OAuth client\n\nDelete an OAuth client\n\n`DELETE /oauth_clients/{id}`\n\n```go\n\terr := client.OAuthClients.Delete(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n```\n\n## List OAuth grants\n\nRetrieve a paginated list of OAuth grants for the authenticated user\n\n`GET /oauth_grants`\n\n```go\n\tpage, err := client.OAuthGrants.List(context.Background(), telnyx.OAuthGrantListParams{})\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n```\n\nReturns: `client_id` (string), `created_at` (date-time), `id` (uuid), `last_used_at` (date-time), `record_type` (enum: oauth_grant), `scopes` (array[string])\n\n## Get OAuth grant\n\nRetrieve a single OAuth grant by ID\n\n`GET /oauth_grants/{id}`\n\n```go\n\toauthGrant, err := client.OAuthGrants.Get(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", oauthGrant.Data)\n```\n\nReturns: `client_id` (string), `created_at` (date-time), `id` (uuid), `last_used_at` (date-time), `record_type` (enum: oauth_grant), `scopes` (array[string])\n\n## Revoke OAuth grant\n\nRevoke an OAuth grant\n\n`DELETE /oauth_grants/{id}`\n\n```go\n\toauthGrant, err := client.OAuthGrants.Delete(context.Background(), \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", oauthGrant.Data)\n```\n\nReturns: `client_id` (string), `created_at` (date-time), `id` (uuid), `last_used_at` (date-time), `record_type` (enum: oauth_grant), `scopes` (array[string])","tags":["telnyx","oauth","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk","sip"],"capabilities":["skill","source-team-telnyx","skill-telnyx-oauth-go","topic-agent-skills","topic-ai-coding-agent","topic-claude-code","topic-cpaas","topic-cursor","topic-iot","topic-llm","topic-sdk","topic-sip","topic-sms","topic-speech-to-text","topic-telephony"],"categories":["ai"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/team-telnyx/ai/telnyx-oauth-go","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add team-telnyx/ai","source_repo":"https://github.com/team-telnyx/ai","install_from":"skills.sh"}},"qualityScore":"0.533","qualityRationale":"deterministic score 0.53 from registry signals: · indexed on github topic:agent-skills · 167 github stars · SKILL.md body (11,406 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T06:54:44.675Z","embedding":null,"createdAt":"2026-04-18T22:07:23.560Z","updatedAt":"2026-04-22T06:54:44.675Z","lastSeenAt":"2026-04-22T06:54:44.675Z","tsv":"'/.well-known/oauth-authorization-server':186 '/.well-known/oauth-protected-resource':258 '/oauth/authorize':293 '/oauth/consent':327 '/oauth/grants':379 '/oauth/introspect':421 '/oauth/jwks':471 '/oauth/register':502 '/oauth/token':615 '/oauth_clients':687,773,900,992,1112 '/oauth_grants':1144,1196,1251 '/team-telnyx/telnyx-go':14,23 '/team-telnyx/telnyx-go/option':26 '182bd5e5':908,1028,1119,1204,1259 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':907,1027,1118,1203,1258 '2.0':179,250,284 '401':64,135 '403':139 '404':142 '41d4':303 '422':60,92,146 '429':57,102,152 '446655440000':305 '4fe4':910,1030,1121,1206,1261 '550e8400':300 '6e1a':909,1029,1120,1205,1260 '7591':500 '8414':184 'a716':304 'a799':911,1031,1122,1207,1262 'aa6d9a6ab26e':912,1032,1123,1208,1263 'access':412,612,657 'activ':442 'admin':812 'allow':381,390,704,709,776,780,829,834,923,928,995,1000,1044,1049 'allowedgranttyp':806 'allowedscop':810 'alreadi':40 'alway':65 'api':32,48,117,137 'apierr':83,88 'apierr.error':123 'apierr.statuscode':90,122 'array':209,214,230,234,244,276,363,488,509,519,523,574,584,588,707,711,748,792,832,836,873,926,930,967,998,1002,1014,1047,1051,1088,1183,1241,1296 'assum':37 'aud':444 'auth':241,529,594 'authent':62,684,1141 'author':175,180,202,274,281,285,289,376,604 'automat':165 'backoff':110,158 'bash':9 'basic':535 'bearer':671 'boolean':369,443,752,796,877,971,1018,1092 'call':49 'case':91,101 'challeng':206 'check':96,128,149,415 'client':27,38,347,446,491,497,504,533,536,558,561,566,569,606,620,623,674,681,713,716,720,745,766,771,778,808,818,838,841,845,870,891,896,932,935,939,964,985,990,1053,1056,1060,1085,1106,1110,1161,1219,1274 'client.messages.send':76 'client.oauth.get':333 'client.oauth.getauthorize':296 'client.oauth.getjwks':475 'client.oauth.grants':387 'client.oauth.introspect':427 'client.oauth.register':545 'client.oauth.token':642 'client.oauthclients.delete':1116 'client.oauthclients.get':905 'client.oauthclients.list':691 'client.oauthclients.new':803 'client.oauthclients.update':1025 'client.oauthgrants.delete':1256 'client.oauthgrants.get':1201 'client.oauthgrants.list':1148 'client.resource.listautopaging':168 'client.wellknown.getauthorizationservermetadata':190 'client.wellknown.getprotectedresourcemetadata':262 'clientid':299 'clienttyp':813 'code':70,134,205,290,605,626,628 'common':132 'confidenti':724,849,943,1064 'connect':129 'consent':317,324,328,335,382 'consenttoken':392 'context':18 'context.background':191,263,297,334,388,428,476,546,643,692,804,906,1026,1117,1149,1202,1257 'creat':370,373,725,764,767,850,944,1065,1164,1222,1277 'credenti':607,809 'ctx':77,169 'd':119 'date':728,759,853,884,947,978,1068,1099,1167,1175,1225,1233,1280,1288 'date-tim':727,758,852,883,946,977,1067,1098,1166,1174,1224,1232,1279,1287 'default':115 'delet':1104,1107,1111,1250 'detail':320 'discoveri':256 'dynam':490,498 'e29b':302 'e29b-41d4-a716':301 'els':124 'endpoint':203,217,225,237,240,282,286,528,593,602 'enum':531,670,722,743,847,868,941,962,1062,1083,1179,1237,1292 'err':75,80,87,189,193,196,261,265,268,295,311,314,332,338,341,386,395,398,426,433,436,474,478,481,544,549,552,641,648,651,690,695,698,802,820,823,904,914,917,1024,1035,1038,1115,1125,1128,1147,1152,1155,1200,1210,1213,1255,1265,1268 'error':45,54,59,63,67,73,95,118,127,133,148 'errors.as':86 'exampl':35 'example.com':307 'exchang':603 'exist':988 'exp':449 'expir':660 'exponenti':109,157 'eyj0exaioijkv1qilcjhbgcioijiuzi1nij9.example':393,431 'fail':51 'field':98,150 'flow':291 'fmt':19 'fmt.printf':116,197,269,342,399,437,482,553,652,699,824,918,1039,1156,1214,1269 'fmt.println':93,111,125 'format':100,151 'found':145 'get':11,185,257,292,315,326,470,686,889,899,1143,1185,1195 'github.com':13,22,25 'github.com/team-telnyx/telnyx-go':12,21 'github.com/team-telnyx/telnyx-go/option':24 'go':4,7,10,16,71,187,259,294,330,384,424,472,542,639,688,800,902,1022,1114,1145,1198,1253 'grant':211,372,377,507,572,617,705,781,830,924,996,1045,1131,1138,1181,1187,1192,1239,1245,1249,1294 'granttyp':645 'handl':46,66 'iat':451 'id':348,447,559,562,621,714,736,762,839,861,887,898,901,933,955,981,993,1054,1076,1102,1113,1162,1169,1194,1197,1220,1227,1252,1275,1282 'import':17,72,159 'initi':41 'instal':8 'insuffici':140 'integ':450,452,565,662 'introspect':216,408,409 'invalid':136 'iss':453 'issu':563 'issuer':219 'item':173 'iter':166,167 'iter.current':174 'iter.next':172 'json':457,463 'jwks':221 'key':33,138,459,465,487 'last':1171,1229,1284 'limit':56,104,113,154 'list':672,678,1129,1135 'listautopag':163 'log.fatal':195,267,313,340,397,435,480,551,650,697,822,916,1037,1127,1154,1212,1267 'logo':350,511,576,730,784,855,949,1004,1070 'metadata':177,182,248,253,419 'method':207,242,530,595 'n':121,199,271,344,401,439,484,555,654,701,826,920,1041,1158,1216,1271 'name':353,505,567,733,775,815,858,952,1007,1073 'network':53,126 'new':495,769 'nil':81,194,266,312,339,396,434,479,550,649,696,821,915,1036,1126,1153,1211,1266 'none':532 'note':160 'null':719,844,938,1059 'oauth':3,6,178,249,280,283,316,323,331,371,375,411,496,600,673,680,744,765,770,817,869,890,895,963,984,989,1084,1105,1109,1130,1137,1180,1186,1191,1238,1244,1248,1293 'oauth.data':345 'oauthclient':801,903,1023 'oauthclient.data':827,921,1042 'oauthgrant':1199,1254 'oauthgrant.data':1217,1272 'object':364,489 'option':503,619,783,994 'option.withapikey':29 'org':735,860,954,1075 'os':20 'os.getenv':30 'page':689,702,1146,1159 'pagin':161,677,1134 'param':78,170 'permiss':141 'pkce':751,795,876,970,1017,1091 'polici':355,514,579,738,787,863,957,1009,1078 'post':378,420,501,538,614,772 'product':69 'protect':246,251 'public':723,848,942,1063 'put':991 'rate':55,103,112,153 'record':741,866,960,1081,1177,1235,1290 'redirect':358,404,517,582,631,746,790,871,965,1012,1086 'redirecturi':306 'refresh':609,634,663 'regist':493 'registr':224,492 'request':361 'requir':97,380,422,616,750,774,794,875,969,1016,1090 'resourc':143,247,252,255,278 'respons':188,227,260,385,425,473,521,543,586,640 'response.accesstoken':655 'response.authorizationendpoint':200 'response.authorizationservers':272 'response.clientid':440,556 'response.keys':485 'response.redirecturi':402 'responsetyp':308 'result':74 'retri':107,114,131,155 'retriev':319,461,675,892,1132,1188 'return':201,273,346,403,441,486,557,656,703,828,922,1043,1160,1218,1273 'revok':1243,1246 'rfc':183,499 'scope':232,362,455,525,590,637,666,710,777,835,929,1001,1050,1182,1240,1295 'secret':534,537,570,624,717,842,936,1057 'server':176,181,275 'set':460,466 'setup':15 'shown':43 'singl':894,1190 'skill' 'skill-telnyx-oauth-go' 'source-team-telnyx' 'string':210,215,231,235,245,277,349,354,445,448,454,456,506,510,520,524,526,560,568,571,575,585,589,591,596,622,625,627,630,636,638,659,665,667,708,712,715,718,734,737,749,763,793,807,811,833,837,840,843,859,862,874,888,927,931,934,937,953,956,968,982,999,1003,1008,1015,1048,1052,1055,1058,1074,1077,1089,1103,1163,1184,1221,1242,1276,1297 'support':208,213,229,233,243 'switch':89 'telnyx':2,5,31 'telnyx-oauth-go':1 'telnyx.error':84 'telnyx.newclient':28 'telnyx.oauthclientlistparams':693 'telnyx.oauthclientnewparams':805 'telnyx.oauthclientnewparamsclienttypepublic':814 'telnyx.oauthclientupdateparams':1033 'telnyx.oauthgetauthorizeparams':298 'telnyx.oauthgetauthorizeparamsresponsetypecode':309 'telnyx.oauthgrantlistparams':1150 'telnyx.oauthgrantsparams':389 'telnyx.oauthintrospectparams':429 'telnyx.oauthregisterparams':547 'telnyx.oauthtokenparams':644 'telnyx.oauthtokenparamsgranttypeclientcredentials':646 'time':729,760,854,885,948,979,1069,1100,1168,1176,1226,1234,1281,1289 'token':236,239,318,325,329,336,383,407,413,423,430,468,527,592,601,610,613,635,658,664,668 'topic-agent-skills' 'topic-ai-coding-agent' 'topic-claude-code' 'topic-cpaas' 'topic-cursor' 'topic-iot' 'topic-llm' 'topic-sdk' 'topic-sip' 'topic-sms' 'topic-speech-to-text' 'topic-telephony' 'tos':365,539,597,753,797,878,972,1019,1093 'true':391 'type':212,228,508,522,573,587,618,669,706,721,742,779,782,831,846,867,925,940,961,997,1046,1061,1082,1178,1236,1291 'updat':756,881,975,983,986,1096 'uri':204,218,220,222,223,226,238,279,351,352,356,357,359,360,366,367,405,406,512,513,515,516,518,540,541,577,578,580,581,583,598,599,632,633,731,732,739,740,747,754,755,785,786,788,789,791,798,799,856,857,864,865,872,879,880,950,951,958,959,966,973,974,1005,1006,1010,1011,1013,1020,1021,1071,1072,1079,1080,1087,1094,1095 'use':162,1172,1230,1285 'user':685,761,886,980,1101,1142 'uuid':1170,1228,1283 'v':198,270,343,400,438,483,554,653,700,825,919,1040,1157,1215,1270 'valid':58,94,147,417 'var':82 'verif':469 'verifi':368,629 'wait':105 'web':458,464","prices":[{"id":"35e3c1f9-c4ed-4d96-a186-debeeb52346f","listingId":"1be693de-a754-4eb3-9b8a-3b3b15b17751","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"team-telnyx","category":"ai","install_from":"skills.sh"},"createdAt":"2026-04-18T22:07:23.560Z"}],"sources":[{"listingId":"1be693de-a754-4eb3-9b8a-3b3b15b17751","source":"github","sourceId":"team-telnyx/ai/telnyx-oauth-go","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-oauth-go","isPrimary":false,"firstSeenAt":"2026-04-18T22:07:23.560Z","lastSeenAt":"2026-04-22T06:54:44.675Z"}],"details":{"listingId":"1be693de-a754-4eb3-9b8a-3b3b15b17751","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-oauth-go","github":{"repo":"team-telnyx/ai","stars":167,"topics":["agent-skills","ai","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk","sip","sms","speech-to-text","telephony","telnyx","tts","twilio-migration","voice-agents","voice-ai","webrtc","windsurf"],"license":"mit","html_url":"https://github.com/team-telnyx/ai","pushed_at":"2026-04-21T22:09:49Z","description":"Official one-stop shop for AI Agents and developers building with Telnyx.","skill_md_sha":"3be957fc3132e180667fee039d8600af55e33ab5","skill_md_path":"skills/telnyx-oauth-go/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-oauth-go"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-oauth-go","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-oauth-go"},"updatedAt":"2026-04-22T06:54:44.675Z"}}