Telnyx OAuth Clients API
The OAuth Clients API from Telnyx — 2 operation(s) for oauth clients.
The OAuth Clients API from Telnyx — 2 operation(s) for oauth clients.
openapi: 3.1.0
info:
contact:
email: support@telnyx.com
description: Telnyx provides global communications and connectivity APIs for developers — including SIP trunking, programmable voice, SMS, MMS, WhatsApp Business Messaging, Call Control, Fax, Wireless (IoT & eSIM), Phone Numbers (DID provisioning & porting), Emergency Services, and Network APIs for private interconnects and edge connectivity. Build, scale, and manage voice, messaging, and data networks with Telnyx's carrier-grade global infrastructure and API-first platform.
title: Telnyx Access Tokens OAuth Clients API
version: 2.0.0
x-endpoint-cost: light
servers:
- description: Version 2.0.0 of the Telnyx API
url: https://api.telnyx.com/v2
security:
- bearerAuth: []
tags:
- name: OAuth Clients
paths:
/oauth_clients:
get:
description: Retrieve a paginated list of OAuth clients for the authenticated user
operationId: ListOAuthClients
parameters:
- description: Number of results per page
in: query
name: page[size]
schema:
default: 20
maximum: 100
minimum: 1
type: integer
- description: Page number
in: query
name: page[number]
schema:
default: 1
minimum: 1
type: integer
- description: Filter by client type
in: query
name: filter[client_type]
schema:
enum:
- confidential
- public
type: string
- description: Filter by verification status
in: query
name: filter[verified]
schema:
type: boolean
- description: Filter by allowed grant type
in: query
name: filter[allowed_grant_types][contains]
schema:
enum:
- client_credentials
- authorization_code
- refresh_token
type: string
- description: Filter by exact client name
in: query
name: filter[name]
schema:
type: string
- description: Filter by client name containing text
in: query
name: filter[name][contains]
schema:
type: string
- description: Filter by client ID
in: query
name: filter[client_id]
schema:
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
items:
$ref: '#/components/schemas/OAuthClient'
type: array
meta:
$ref: '#/components/schemas/oauth_PaginationMeta'
type: object
description: List of OAuth clients
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/oauth_Error'
description: Unauthorized
security:
- bearerAuth: []
summary: List OAuth clients
tags:
- OAuth Clients
x-latency-category: responsive
post:
description: Create a new OAuth client
operationId: CreateOAuthClient
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OAuthClientCreateRequest'
required: true
responses:
'201':
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/OAuthClient'
type: object
description: OAuth client created successfully
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/oauth_Error'
description: Invalid request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/oauth_Error'
description: Unauthorized
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/oauth_Error'
description: Validation error
security:
- bearerAuth: []
summary: Create OAuth client
tags:
- OAuth Clients
x-latency-category: responsive
/oauth_clients/{id}:
delete:
description: Delete an OAuth client
operationId: DeleteOAuthClient
parameters:
- description: OAuth client ID
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'204':
description: OAuth client deleted successfully
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/oauth_Error'
description: OAuth client not found
security:
- bearerAuth: []
summary: Delete OAuth client
tags:
- OAuth Clients
x-latency-category: responsive
get:
description: Retrieve a single OAuth client by ID
operationId: GetOAuthClient
parameters:
- description: OAuth client ID
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/OAuthClient'
type: object
description: OAuth client details
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/oauth_Error'
description: OAuth client not found
security:
- bearerAuth: []
summary: Get OAuth client
tags:
- OAuth Clients
x-latency-category: responsive
put:
description: Update an existing OAuth client
operationId: UpdateOAuthClient
parameters:
- description: OAuth client ID
in: path
name: id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OAuthClientUpdateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/OAuthClient'
type: object
description: OAuth client updated successfully
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/oauth_Error'
description: OAuth client not found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/oauth_Error'
description: Validation error
security:
- bearerAuth: []
summary: Update OAuth client
tags:
- OAuth Clients
x-latency-category: responsive
components:
schemas:
OAuthClientUpdateRequest:
additionalProperties: false
properties:
allowed_grant_types:
description: List of allowed OAuth grant types
items:
enum:
- client_credentials
- authorization_code
- refresh_token
type: string
type: array
allowed_scopes:
description: List of allowed OAuth scopes
example:
- admin
items:
type: string
type: array
logo_uri:
description: URL of the client logo
format: uri
type: string
name:
description: The name of the OAuth client
type: string
policy_uri:
description: URL of the client's privacy policy
format: uri
type: string
redirect_uris:
description: List of redirect URIs
items:
format: uri
type: string
type: array
require_pkce:
description: Whether PKCE (Proof Key for Code Exchange) is required for this client
type: boolean
tos_uri:
description: URL of the client's terms of service
format: uri
type: string
type: object
OAuthClientCreateRequest:
additionalProperties: false
properties:
allowed_grant_types:
description: List of allowed OAuth grant types
items:
enum:
- client_credentials
- authorization_code
- refresh_token
type: string
type: array
allowed_scopes:
description: List of allowed OAuth scopes
example:
- admin
items:
type: string
type: array
client_type:
description: OAuth client type
enum:
- public
- confidential
type: string
logo_uri:
description: URL of the client logo
format: uri
type: string
name:
description: The name of the OAuth client
example: My OAuth client
type: string
policy_uri:
description: URL of the client's privacy policy
format: uri
type: string
redirect_uris:
default: []
description: List of redirect URIs (required for authorization_code flow)
items:
format: uri
type: string
type: array
require_pkce:
default: false
description: Whether PKCE (Proof Key for Code Exchange) is required for this client
type: boolean
tos_uri:
description: URL of the client's terms of service
format: uri
type: string
required:
- name
- allowed_scopes
- client_type
- allowed_grant_types
type: object
oauth_PaginationMeta:
properties:
page_number:
description: Current page number
type: integer
page_size:
description: Number of items per page
type: integer
total_pages:
description: Total number of pages
type: integer
total_results:
description: Total number of results
type: integer
type: object
OAuthClient:
properties:
allowed_grant_types:
description: List of allowed OAuth grant types
items:
enum:
- client_credentials
- authorization_code
- refresh_token
type: string
type: array
allowed_scopes:
description: List of allowed OAuth scopes
items:
type: string
type: array
client_id:
description: OAuth client identifier
type: string
client_secret:
description: Client secret (only included when available, for confidential clients)
type:
- string
- 'null'
client_type:
description: OAuth client type
enum:
- public
- confidential
type: string
created_at:
description: Timestamp when the client was created
format: date-time
type: string
logo_uri:
description: URL of the client logo
format: uri
type:
- string
- 'null'
name:
description: Human-readable name for the OAuth client
type: string
org_id:
description: Organization ID that owns this OAuth client
type: string
policy_uri:
description: URL of the client's privacy policy
format: uri
type:
- string
- 'null'
record_type:
description: Record type identifier
enum:
- oauth_client
type: string
redirect_uris:
description: List of allowed redirect URIs
items:
format: uri
type: string
type: array
require_pkce:
description: Whether PKCE (Proof Key for Code Exchange) is required for this client
type: boolean
tos_uri:
description: URL of the client's terms of service
format: uri
type:
- string
- 'null'
updated_at:
description: Timestamp when the client was last updated
format: date-time
type: string
user_id:
description: User ID that created this OAuth client
type: string
required:
- record_type
- client_id
- name
- org_id
- user_id
- client_type
- require_pkce
- created_at
- updated_at
type: object
oauth_Error:
properties:
error:
description: Error code
type: string
error_description:
description: Human-readable error description
type: string
required:
- error
type: object
securitySchemes:
bearerAuth:
scheme: bearer
type: http
branded-calling_bearerAuth:
description: API key passed as a Bearer token in the Authorization header
scheme: bearer
type: http
oauthClientAuth:
description: OAuth 2.0 authentication for Telnyx API and MCP integrations
flows:
authorizationCode:
authorizationUrl: https://api.telnyx.com/v2/oauth/authorize
refreshUrl: https://api.telnyx.com/v2/oauth/token
scopes:
admin: Administrative access to Telnyx resources
tokenUrl: https://api.telnyx.com/v2/oauth/token
clientCredentials:
scopes:
admin: Administrative access to Telnyx resources
tokenUrl: https://api.telnyx.com/v2/oauth/token
type: oauth2
outbound-voice-profiles_bearerAuth:
bearerFormat: JWT
scheme: bearer
type: http
pronunciation-dicts_bearerAuth:
description: Telnyx API v2 key. Obtain from https://portal.telnyx.com
scheme: bearer
type: http
stored-payment-transactions_bearerAuth:
bearerFormat: JWT
scheme: bearer
type: http